Найти номер первого из столбцов матрицы, не содержащих элементов, меньших s - Turbo Pascal
Формулировка задачи:
Найти номер первого из столбцов, не содержащих элементов, меньших s. (матрица)
Решение задачи: «Найти номер первого из столбцов матрицы, не содержащих элементов, меньших s»
textual
Листинг программы
var ar: Array[Byte, Byte] Of ShortInt; i, j: Byte; n, m, s: Integer; flag: Boolean; begin repeat Write('Введите количество строк (1..256): '); ReadLn(n); until ((n > 0) And (n <= 256)); repeat Write('Введите количество столбцов (1..256): '); ReadLn(m); until ((m > 0) And (m <= 256)); Randomize; for i := 0 to n - 1 do begin for j := 0 to m - 1 do begin ar[i, j] := Random(199) - 99; Write(ar[i, j]:4); end; WriteLn; end; Write('Введите число s: '); ReadLn(s); j := 0; repeat i := 0; repeat flag := (ar[i, j] >= s); Inc(i); until ((i >= n) Or (Not flag)); Inc(j); until ((j >= m) Or flag); if (flag) then WriteLn('Ответ: столбец №', j) else WriteLn('Все столбцы содержать элементы, меньшие ', s); end.
Объяснение кода листинга программы
- Создается переменная ar типа Array[Byte, Byte] Of ShortInt, которая представляет собой матрицу размером n x m.
- Задаются переменные i и j типа Byte, которые будут использоваться для прохода по матрице.
- Задается переменная n типа Integer, которая представляет количество строк в матрице.
- Задается переменная m типа Integer, которая представляет количество столбцов в матрице.
- Задается переменная s типа Integer, которую пользователь должен ввести и которая будет использоваться для проверки элементов матрицы.
- Инициализируется переменная flag типа Boolean, которая будет использоваться для отслеживания того, есть ли в матрице столбцы, содержащие элементы, меньшие s.
- В цикле while происходит следующее:
- Пользователю предлагается ввести количество строк и столбцов матрицы.
- Введенные значения проверяются на соответствие допустимому диапазону.
- Если введенные значения некорректны, цикл повторяется.
- Если введенные значения корректны, переходят к следующему шагу.
- В цикле while повторяется следующий код:
- Переменная i и j инициализируются.
- В цикле повторяется следующий код:
- Переменная flag устанавливается в значение (ar[i, j] >= s).
- Переменная i инкрементируется.
- Пока условие (i >= n) или (Not flag) истинно, переменная j инкрементируется.
- Если флаг равен true, выводится ответ на вопрос о номере столбца.
- Если флаг равно false, выводится сообщение о том, что все столбцы содержат элементы, меньшие s.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д