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

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

Задать свой вопрос
2 ответа
// 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] lt; min.val then begin
min.val := a[i];
min.ind := i;
end;
if a[i] gt; 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
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт