Цитата:
Сообщение от Раджаб 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.