Составить одномерный массив из максимальных элементов столбцов матрицы. - Pascal
Формулировка задачи:
Помогите,пожалуйста,решить
Вводятся две целые матрицы размером 20х20 и 30х30. Для той у матрицы, которой количество нулевых элементов больше. составить одномерный массив из максимальных элемеитов нечетных столбцов матрицы и отсортировать его в порядке возрастания элементов. Вывести на печать саму найденную матрицу, сумму элементов и отсортированный одномерный массив.
Решение задачи: «Составить одномерный массив из максимальных элементов столбцов матрицы.»
textual
Листинг программы
const an=20; bn=30; var a: array [1..an,1..an] of Integer; b: array [1..bn,1..bn] of Integer; c: array [1..bn div 2] of Integer; ak, bk, cn, m, t, i, j: Integer; begin Randomize; for i:=1 to an do for j:=1 to an do a[i,j]:=Random(10); for i:=1 to bn do for j:=1 to bn do b[i,j]:=Random(10); for i:=1 to an do for j:=1 to an do if a[i,j]=0 then Inc(ak); for i:=1 to bn do for j:=1 to bn do if b[i,j]=0 then Inc(bk); j:=1; {cn:=0;} if ka>kb then begin while j<=an do begin m:=a[1,j]; for i:=2 to an do if m<a[i,j] then m:=a[i,j]; Inc(j,2); Inc(cn); c[cn]:=m; end; WriteLn('A ='); for i:=1 to an do begin for j:=1 to an do Write(a[i,j]:2); WriteLn; end; end else begin while j<=bn do begin m:=b[1,j]; for i:=2 to bn do if m<b[i,j] then m:=b[i,j]; Inc(j,2); Inc(cn); c[cn]:=m; end; WriteLn('B ='); for i:=1 to bn do begin for j:=1 to bn do Write(b[i,j]:2); WriteLn; end; end; for i:=cn downto 2 do for j:=2 to cn do if c[j-1]>c[j] then begin t:=c[j-1];.c[j-1]:=c[j]; c[j]:=t; end; WriteLn('C ='); for j:=1 to cn do Write(c[j]:2); WriteLn; end.
Объяснение кода листинга программы
- Объявление и инициализация переменных:
an
- константа, равная 20bn
- константа, равная 30a
- двумерный массив размером an x an, заполненный случайными целыми числами от 0 до 9b
- двумерный массив размером bn x bn, заполненный случайными целыми числами от 0 до 9c
- одномерный массив размером bn div 2, для хранения максимальных элементов столбцовak
,bk
,cn
,m
,t
,i
,j
- целочисленные переменные
- Генерация случайных чисел для массивов
a
иb
с использованием вложенных цикловfor
- Поиск количества нулевых элементов в массивах
a
иb
с использованием вложенных цикловfor
и увеличение переменныхak
иbk
при обнаружении нулевых значений - Проверка условия
если ka>kb
и заполнение массиваc
максимальными элементами столбцовa
илиb
в зависимости от результата проверки с использованием цикловwhile
иfor
- Вывод массива
a
илиb
в зависимости от результата проверки условия (if-else) - Сортировка массива
c
в порядке возрастания с использованием метода пузырьковой сортировки - Вывод отсортированного массива
c
Можно заметить, что в коде возможно опечатка в названии переменнойka
, а также пропущен знак=
в строкеt:=c[j-1];.c[j-1]:=c[j]; c[j]:=t;
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д