среда, 10 июня 2009 г.

мин. и мах. оставить

найти наибольший и наименьший среди элементов массива. остальные обнулить.


const
N = 10;
var
a: array [1..N] of integer;
i: integer;
imin: integer;
imax: integer;
begin
{заполняем случайными числами}
for i:=1 to N do a[i]:=random(100);

{печатаем на экран, то что мы имеем вначале}
write('before: ');
for i:=1 to N do write(a[i]:3);
writeln;

{начальные значения - просто предположим}
imax := 1;
imin := 1;

for i:=2 to N do begin
if a[i] < a[imin] then imin := i;
if a[i] > a[imax] then imax := i;
end;

{выводим то что мы нашли}
writeln('min is a[', imin, '] = ', a[imin]);
writeln('max is a[', imax, '] = ', a[imax]);

{обнуляем остальные елементы}
for i:=1 to N do if (i <> imin) and (i <> imax) then a[i]:=0;

{печатаем на экран результат}
write('after: ');
for i:=1 to N do write(a[i]:3);
writeln;

end.


тут рабочий пример с форматированием

Комментариев нет:

Отправить комментарий