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

0 голосов
42 просмотров

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


Информатика (39 баллов) | 42 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

Вот без "наворотов", специфичных для паскаль.абц:

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

(1.7k баллов)
0 голосов

// 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

(142k баллов)