Составить одномерный массив из максимальных элементов столбцов матрицы. - 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.

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

  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
Похожие ответы