Показать сообщение отдельно
Старый 05.04.2014, 21:56   #3 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Раджаб bro Посмотреть сообщение
Как видишь чето у меня не получается,посмотрим что мастера скажут.
А мастера настоятельно потребуют, чтобы впредь сырые неотлаженные программы в качестве "помощи" не выкладывались. Потому что мастерам далеко не безразлична репутация форума.
Раджаб bro, то, что Вы представили это, извините, полный ужас и какое-то хаотическое нагромождение ошибок и неряшливостей. Вместо количества нулевых считается количество отрицательных членов, цикл поиска минимума вообще отсутствует, зато зачем-то n раз осуществляется операция min:=-10;, попытка сосчитать сумму членов после минимального - вообще какой-то бред, упорядочение массива отсутствует, и т.д. и т.п.
Справедливости ради отмечу, что и в самом задании присутствует ляп, уж не знаю, по чьей вине. Дело в том, что если массив вещественный (real), то вероятность появления в нем строго нулевых членов настолько мала, что определять их количество абсолютно бессмысленное дело. Поэтому будем считать массив целочисленным (integer). С учетом этого:
Код:
const
 n=50;
Var
 i,j,min,sum,nul,Imin,D:integer;
 a:array[1..n] of integer;
Begin
 randomize;
 nul:=0;
 writeln('Initial array:');
 for i:=1 to n do
  begin
   a[i]:=random(30)-10;
   write(a[i]:4);
   if a[i]=0 then nul:=nul+1;
  end;
 writeln;
 writeln;
 Writeln('Number of zero elements is ',nul);
 writeln;
 min:=a[1];
 Imin:=1;
 for i:=2 to n do
  if a[i]<min then
   begin
    min:=a[i];
    Imin:=i;
   end;
 sum:=0;
 for i:=Imin+1 to n do
  sum:=sum+a[i];
 Writeln('Sum of elements after minimal is ',sum);
 writeln;
 Writeln ('Ordered array:');
 for i:=1 to n-1 do
  for j:=1 to n-i do
   if abs(a[j])>abs(a[j+1]) then
    begin
     D:=a[j];
     a[j]:=a[j+1];
     a[j+1]:=D;
    end;
 for i:=1 to n do write(a[i]:4);
 readln
end.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070