Дан двухмерный массив А(m,n). Отсортировать нечетные элементы по убыванию для всей матрицы в порядке по столбцам - Turbo Pascal
Формулировка задачи:
Дан двухмерный массив А(m,n). Отсортировать нечетные элементы по убыванию для всей матрицы в порядке по столбцам.
Решение задачи: «Дан двухмерный массив А(m,n). Отсортировать нечетные элементы по убыванию для всей матрицы в порядке по столбцам»
textual
Листинг программы
var a:array[1..100,1..100] of Integer; m,n,i,j,k,r:Integer; begin Write('m='); Read(m); Write('n='); Read(n); Writeln('Введите элементы массива:'); for i:=1 to m do for j:=1 to n do begin Write('a[',i,',',j,']='); Read(a[i,j]); end; Writeln('Исходная матрица:'); for i:=1 to m do begin for j:=1 to n do Write(a[i,j]:4); Writeln; end; for i:=1 to n do for j:=1 to m-1 do for k:=j+1 to m do if odd(a[k,i]) and odd(a[j,i]) and (a[k,i]>a[j,i]) then begin r:=a[j,i]; a[j,i]:=a[k,i]; a[k,i]:=r; end; Writeln('Полученная матрица:'); for i:=1 to m do begin for j:=1 to n do Write(a[i,j]:4); Writeln; end; Readln; end.
Объяснение кода листинга программы
- Ввод значений для переменных m и n.
- Ввод элементов массива a.
- Вывод исходной матрицы a.
- Вычисление и изменение значений для переменных r и a[j,i].
- Вывод полученной матрицы a.