Составить одномерный массив из максимальных элементов столбцов матрицы. - Pascal

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

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

Помогите,пожалуйста,решить Вводятся две целые матрицы размером 20х20 и 30х30. Для той у матрицы, которой количество нулевых элементов больше. составить одномерный массив из максимальных элемеитов нечетных столбцов матрицы и отсортировать его в порядке возрастания элементов. Вывести на печать саму найденную матрицу, сумму элементов и отсортированный одномерный массив.

Решение задачи: «Составить одномерный массив из максимальных элементов столбцов матрицы.»

textual
Листинг программы
  1. const an=20; bn=30;
  2. var
  3.   a: array [1..an,1..an] of Integer;
  4.   b: array [1..bn,1..bn] of Integer;
  5.   c: array [1..bn div 2] of Integer;
  6.   ak, bk, cn, m, t, i, j: Integer;
  7. begin
  8.   Randomize;
  9.   for i:=1 to an do for j:=1 to an do a[i,j]:=Random(10);
  10.   for i:=1 to bn do for j:=1 to bn do b[i,j]:=Random(10);
  11.   for i:=1 to an do for j:=1 to an do if a[i,j]=0 then Inc(ak);
  12.   for i:=1 to bn do for j:=1 to bn do if b[i,j]=0 then Inc(bk);
  13.   j:=1; {cn:=0;}
  14.   if ka>kb then begin
  15.     while j<=an do begin
  16.       m:=a[1,j]; for i:=2 to an do if m<a[i,j] then m:=a[i,j];
  17.       Inc(j,2); Inc(cn); c[cn]:=m;
  18.     end;
  19.     WriteLn('A =');
  20.     for i:=1 to an do begin
  21.       for j:=1 to an do Write(a[i,j]:2); WriteLn;
  22.     end;
  23.   end else begin
  24.     while j<=bn do begin
  25.       m:=b[1,j]; for i:=2 to bn do if m<b[i,j] then m:=b[i,j];
  26.       Inc(j,2); Inc(cn); c[cn]:=m;
  27.     end;
  28.     WriteLn('B =');
  29.     for i:=1 to bn do begin
  30.       for j:=1 to bn do Write(b[i,j]:2); WriteLn;
  31.     end;
  32.   end;
  33.   for i:=cn downto 2 do for j:=2 to cn do
  34.     if c[j-1]>c[j] then begin
  35.       t:=c[j-1];.c[j-1]:=c[j]; c[j]:=t;
  36.     end;
  37.   WriteLn('C ='); for j:=1 to cn do Write(c[j]:2); WriteLn;
  38. end.

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

  1. Объявление и инициализация переменных:
    • an - константа, равная 20
    • bn - константа, равная 30
    • a - двумерный массив размером an x an, заполненный случайными целыми числами от 0 до 9
    • b - двумерный массив размером bn x bn, заполненный случайными целыми числами от 0 до 9
    • c - одномерный массив размером bn div 2, для хранения максимальных элементов столбцов
    • ak, bk, cn, m, t, i, j - целочисленные переменные
  2. Генерация случайных чисел для массивов a и b с использованием вложенных циклов for
  3. Поиск количества нулевых элементов в массивах a и b с использованием вложенных циклов for и увеличение переменных ak и bk при обнаружении нулевых значений
  4. Проверка условия если ka>kb и заполнение массива c максимальными элементами столбцов a или b в зависимости от результата проверки с использованием циклов while и for
  5. Вывод массива a или b в зависимости от результата проверки условия (if-else)
  6. Сортировка массива c в порядке возрастания с использованием метода пузырьковой сортировки
  7. Вывод отсортированного массива c Можно заметить, что в коде возможно опечатка в названии переменной ka, а также пропущен знак = в строке t:=c[j-1];.c[j-1]:=c[j]; c[j]:=t;.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

13   голосов , оценка 4.231 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы