Правильно ли работает программа по выводу нулевых строк? - Pascal ABC
Формулировка задачи:
Нужно найти номера строк, элементы которых равны нулю в двумерном массиве.
Будет ли данная программа выводить номера этих строк?
Решение задачи: «Правильно ли работает программа по выводу нулевых строк?»
textual
Листинг программы
Var A:array[1..20,1..20] of integer; n,m,i,j,k,s:integer; begin Randomize; write('Введите кол-во строк: '); readln(n); write('Введите кол-во столбцов: '); readln(m); For i:=1 to n do Begin For j:=1 to m do Begin A[i,j]:=random(10); write(A[i,j]:4); End; writeln; End; writeln('Номера строк из 0'); k:=0; For i:=1 to n do Begin s:=0; For j:=1 to m do if a[i,j]=0 then s:=s+1; if s=m then begin write(i:3); k:=1; end; end; if k=0 then writeln('Таких строк нет ') end.
Объяснение кода листинга программы
- Создается переменная A типа array[1..20,1..20] of integer. Это массив размером 20x20, который будет использоваться для хранения целых чисел.
- Задаются переменные n, m, i, j, k, s типа integer. Они будут использоваться в цикле.
- Вызывается функция Randomize, чтобы инициализировать генератор случайных чисел.
- Выводится сообщение
Введите кол-во строк:
и считывается значение переменной n. - Выводится сообщение
Введите кол-во столбцов:
и считывается значение переменной m. - В цикле for i:=1 до n (n - количество строк) выполняется следующий блок кода:
- В цикле for j:=1 до m (m - количество столбцов) выполняется следующий блок кода:
- Значение переменной A[i,j] присваивается случайное число от 0 до 9 (так как write(A[i,j]:4) выводит четвертое цифровое значение числа).
- Выводится значение A[i,j].
- Выводится символ новой строки (writeln).
- В цикле for j:=1 до m (m - количество столбцов) выполняется следующий блок кода:
- После завершения цикла i выводится сообщение
Номера строк из 0
. - Переменная k инициализируется значением 0. Она будет использоваться для отслеживания первой строки, у которой все ячейки равны 0.
- В цикле for i:=1 до n (n - количество строк) выполняется следующий блок кода:
- Переменная s инициализируется значением 0. Она будет использоваться для отслеживания количества строк, у которых все ячейки равны 0.
- В цикле for j:=1 до m (m - количество столбцов) проверяется, равна ли ячейка A[i,j] нулю. Если да, то значение переменной s увеличивается на 1.
- Если значение переменной s равно m (количество столбцов), то выполняется блок кода внутри if:
- Выводится номер строки (i:3).
- Значение переменной k устанавливается равным 1. Это означает, что мы нашли строку, у которой все ячейки равны 0.
- Если значение переменной k равно 0, то выводится сообщение
Таких строк нет
. - Программа заканчивается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д