Составить одномерный массив из максимальных элементов столбцов матрицы. - 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;
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д