Составить программу находящую максимальный и минимальный элемент масива и меняющий их местами
Составить программу находящую максимальный и минимальный элемент масива и меняющий их местами
Ответ(ы) на вопрос:
Гость
// 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
Гость
вот без "наворотов", специфичных для паскаль.абц:
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
Не нашли ответ?
Похожие вопросы