составте программу которая заполняет массив а 1..10 случайными числами в диапазоне от 0 до 10,затем первый элемент меняет местами с максимальным элементом.выведите на экран исходный и полученный массив.
Answers & Comments
Akatava
Var a:array [1..10] of real; i,k:integer; max,c:real; begin randomize; writeln('Введите массив'); for i:=1 to 10 do begin a[i]:=random*10+0; write(' ' , a[i]:6:3); end; max:=a[10]; for i:=1 to 10 do if a[i]>max then begin max:=a[i]; k:=i; end; writeln(' max= ' , max:6:3, ' k= ', k); c:=a[1]; a[1]:=a[k]; a[k]:=c; writeln; for i:=1 to 10 do write(' ' , a[i]:6:3); end.
0 votes Thanks 0
ЕнотЕнотыч
Вы первый элемент заменили максимальным, а вот на место максимального первый элемент не поставили)
ЕнотЕнотыч
и зачем было заполнять вещественными числами
Akatava
Потому что не сказано, что надо заполнять целыми. Не нравится - предложите свой вариант решения
Answers & Comments
i,k:integer;
max,c:real;
begin randomize;
writeln('Введите массив');
for i:=1 to 10 do
begin
a[i]:=random*10+0;
write(' ' , a[i]:6:3);
end;
max:=a[10];
for i:=1 to 10 do
if a[i]>max then
begin
max:=a[i];
k:=i;
end;
writeln(' max= ' , max:6:3, ' k= ', k);
c:=a[1];
a[1]:=a[k];
a[k]:=c;
writeln;
for i:=1 to 10 do
write(' ' , a[i]:6:3);
end.