Составить программу находящую максимальный и минимальный элемент масива и меняющий их местами

женьшенье женьшенье    3   21.07.2019 09:20    0

Ответы
dia207 dia207  03.10.2020 09:30
// PascalABC.NET 3.1, сборка 1198 от 11.03.2016
begin
  var a:=ArrRandom(ReadInteger('n='),10,99); a.Println;
  Swap(a[a.IndexMax],a[a.IndexMin]); a.Println
end.

Тестовое решение:
n= 10
21 52 65 12 88 16 13 76 97 36
21 52 65 97 88 16 13 76 12 36
ПОКАЗАТЬ ОТВЕТЫ
help275 help275  03.10.2020 09:30
Вот без "наворотов", специфичных для паскаль.абц:

program test_arr;
type
arr = array of byte;
elem = record
val : byte;
ind : byte;
end;

var
i, n : byte;
a : arr;
min, max : elem;

begin
write('Введите размер массива: ');
readln(n);

setLength(a, n);
randomize;
for i:=0 to n-1 do begin
a[i] := random(100);
write(a[i], ' ');
end;
writeln;
min.val:=a[0];
min.ind:=0;
max.val:=a[0];
max.ind:=0;

for i:=0 to n-1 do begin
if a[i] < min.val then begin
min.val := a[i];
min.ind := i;
end;
if a[i] > max.val then begin
max.val := a[i];
max.ind := i;
end;
end;
a[min.ind] := max.val;
a[max.ind] := min.val;
for i:=0 to n-1 do
write(a[i], ' ');
writeln;
end.

Введите размер массива: 10
70 9 99 96 10 41 49 19 99 82
70 99 9 96 10 41 49 19 99 82
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика