Как выполнить реверс максимального и минимального элементов массива в этой программе? ПАСКАЛЬ
const n = 10;
type mass = array[1..n] of integer;
var
a: mass;
i, k, max,c, min, j: integer;
begin
randomize;
for i := 1 to n do
A[i] := random(20)-10;
for i := 1 to n do
write(a[i]:3);
writeln();
max := 1;
for j := 1 to n - 1 do begin
for i := j + 1 to n do
if a[i] > max then
max := a[i];
end;
Writeln(Max) ;
min:=1;
for j:=1 to n-1 do begin
for i := j + 1 to n do
if a[i] end;
writeln(min);
Ответы
Ответ:
Обратите внимание на то, что использование переменных c,k,j совершенно не нужно. Также в переменных
max,min лучше запоминать индексы, чтобы затем выполнить реверс.
const n = 10;
type mass = array[1..n] of integer;
var
a: mass;
i, max,min: integer;
begin
randomize;
for i := 1 to n do
A[i] := random(20)-10;
for i := 1 to n do
write(a[i]:3);
writeln();
// В переменных max и min будем запоминать
// ИНДЕКСЫ макс. и мин. элементов
max := 1;
min := 1;
for i := 1 to n do begin
if a[i] > a[max] then max := i;
if a[i] < a[min] then min := i;
end;
Writeln('A[',max,'] = ',a[max]);
Writeln('A[',min,'] = ',a[min]);
// Меняем местами max и min
i := a[max];
a[max]:=a[min];
a[min]:=i;
// Выводим результат на экран
for i := 1 to n do write(a[i]:3);
end.