Двумерный массив, поменять местами макс и мин элемент - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Дан массив B(n*m).Элементы массива ввести в программе.Поменять местами максимальный и минимальный элемент двумерн массив Написал на паскале.нет, не приняли, сказали сделать проще

Решение задачи: «Двумерный массив, поменять местами макс и мин элемент»

textual
Листинг программы
var 
a:array of array of integer;
n,m:integer;
 
 
begin
n:=ReadInteger('Введите количество строк: ');
m:=ReadInteger('Введите количество столбцов:');
SetLength(a,n);
for var i:=0 to n-1 do SetLength(A[i],m);
 
println('Введите элементы матрицы');
for var i:=0 to n-1 do
  for var j:=0 to m-1 do
  begin
    write('[',i+1,'][',j+1,']: ');
    A[i,j]:=ReadInteger()
  end;
 
println('Исходная матрица');
for var i:=0 to n-1 do begin
  for var j:=0 to m-1 do
  begin
  write(A[i,j]:5);
  end;
 writeln;
end;
 
var matrix_min:=A[0][0];
var matrix_max:=A[0][0];
var index_i_max,index_j_max,index_i_min,index_j_min:byte;
for var i:=0 to n-1 do 
  for var j:=0 to m-1 do begin
     if (matrix_min>A[i,j]) then
      begin
      matrix_min:=A[i,j];
      index_i_min:=i;
      index_j_min:=j;
      end;
            
     if (A[i,j]>matrix_max) then
      begin
      matrix_max:=A[i,j];
      index_i_max:=i;
      index_j_max:=j;
      end;
end;
writeln('Максимальный элемент матрицы - ',matrix_max);
writeln('Его индекс - [',index_i_max+1,'][',index_j_max+1,']');
writeln('Минимальный элемент матрицы - ',matrix_min);
writeln('Его индекс - [',index_i_min+1,'][',index_j_min+1,']');
 
var temp:=A[index_i_min,index_j_min];
A[index_i_min,index_j_min]:= A[index_i_max,index_j_max];
A[index_i_max,index_j_max]:=temp;
 
println('Результирующая матрица');
for var i:=0 to n-1 do begin
  for var j:=0 to m-1 do
  begin
  write(A[i,j]:5);
  end;
 writeln;
end;
 
end.

Объяснение кода листинга программы

  1. Создается двумерный массив a типа array of array of integer.
  2. Задаются значения переменных n и m, которые представляют количество строк и столбцов матрицы соответственно.
  3. Выделяются необходимые памяти для строк матрицы.
  4. Читаются элементы матрицы из стандартного ввода.
  5. Инициализируются переменные matrix_min и matrix_max как первые элементы матрицы.
  6. Инициализируются переменные index_i_min и index_j_min как индексы первых минимального и максимального элементов.
  7. Происходит цикл, который проверяет каждый элемент матрицы и обновляет matrix_min и matrix_max, если текущий элемент меньше matrix_min или больше matrix_max.
  8. После завершения цикла, выводится максимальное значение matrix_max и его индексы.
  9. Затем выводится минимальное значение matrix_min и его индексы.
  10. Далее происходит обмен элементов matrix_min и matrix_max.
  11. Завершается программа.

Оцени полезность:

13   голосов , оценка 4.231 из 5
Похожие ответы