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