Поменять местами максимальный и первый элемент массива - Pascal ABC
Формулировка задачи:
Написать процедуру которая в заданом одномерном массиве меняет местами максимальный и первый
элемент.Применить эту процедуру к каждой строке заданной прямоугольной матрицы
Решение задачи: «Поменять местами максимальный и первый элемент массива»
textual
Листинг программы
type ar = array[1..10] of integer;
matr = array[1..10] of ar;
//procedure zamena
procedure zamena(var b: ar; n: integer);
var temp, max, nmax, i: integer;
begin
nmax := 1;
max := b[1];
for i := 2 to n do
if b[i] > max then
begin
max := b[i];
nmax := i
end;
temp := b[1];
b[1] := b[nmax];
b[nmax] := temp;
end;
procedure vvod(var x: matr; var n, m: integer);
var i, j: integer;
begin
write('Введите количество строк n=');
readln(n);
write('Введите количество столбцов m=');
readln(m);
for i:=1 to n do
for j:=1 to m do
begin
write('введите элемент с номером[',i,',',j,']=');
readln(x[i][j]);
end;
end;
procedure vid(x: matr; n, m: integer);
var i, j: integer;
begin
for i:=1 to n do
begin
for j:=1 to m do
write(x[i][j]:4);
writeln;
end;
end;
var a: matr;
m, n,i: integer;
begin
vvod(a, n, m);
writeln('исходная матрица');
vid(a, n, m);
for i:=1 to n do // нужно здесь как то поправить
zamena(a[i],m);
writeln('полученная матрица');
vid(a, n, m);
end.
Объяснение кода листинга программы
- Создаются переменные типа
arиmatr, которые представляют собой массивы целых чисел. - Создается процедура
zamena, которая меняет местами максимальный и первый элемент массива. - Создается процедура
vvod, которая считывает данные для заполнения матрицы. - Создается процедура
vid, которая выводит заполненную матрицу. - Создается основной блок кода, который включает в себя вызов процедур
vvod,vidиzamena. - В основном блоке кода вызывается
vvodдля ввода данных, затем выводится исходная матрица. - Затем вызывается
vidдля вывода исходной матрицы. - После этого вызывается
zamenaдля изменения местми максимального и первого элементов. - Вызывается
vidдля вывода полученной матрицы. - Наконец, выводится сообщение о полученной матрице.