Убрать из кода операторы прерывания - Turbo Pascal
Формулировка задачи:
Условие такое: нужно найти индекс первой строки, которая не содержит двух одинаковых элементов. Вот код, рабочий, нужно его изменить так, чтобы не было операторов прерываний
Решение задачи: «Убрать из кода операторы прерывания»
textual
Листинг программы
const x = 6; y = 6; var a: array[1..x, 1..y] of integer; i, j, k: integer; f: boolean; begin writeln('Массив:'); for i := 1 to x do begin for j := 1 to y do begin a[i, j] := random(15); write(a[i, j]:4); end; writeln; end; i := 0; repeat inc(i); f := true; j := 0; repeat inc(j); k := 0; repeat inc(k); if (a[i, j] = a[i, k]) and (j <> k) then f := false; until not f or (k = y); until not f or (j = y); if f then begin writeln('Индекс: ', i); end; until f or (i = x); if not f then writeln('Такой строки нет'); readln end.
Объяснение кода листинга программы
- В начале объявляются две переменные x и y, которые равны 6.
- Затем объявляется переменная a типа array[1..x, 1..y] of integer. Эта переменная представляет собой массив, который будет заполняться случайными числами.
- Далее объявляются три переменные i, j и k, которые будут использоваться для перемещения по массиву. Начальное значение i равно 0.
- Затем начинается цикл repeat, который будет выполняться до тех пор, пока не будет достигнута условие завершения (i = x или j = y или k = y).
- Внутри цикла повторяется операция inc(i), которая увеличивает значение i на единицу. Затем проверяется условие f = true. Если оно выполняется, то это означает, что текущая и следующая ячейки массива имеют одинаковое значение, и операция inc(j) выполняется. Если условие выполняется, то также выполняется операция inc(k). Если значения текущей и следующей ячеек массива равны, а j не равно k, то переменная f устанавливается в false. Если условие не выполняется, то переменная f устанавливается в true.
- После выполнения операции inc(k) проверяется условие not f или (k = y). Если оно выполняется, то выводится индекс i.
- После этого выполняется операция not f или (j = y). Если условие не выполняется, то выводится сообщение
Такой строки нет
. - Цикл repeat завершается, когда выполняется одно из условий i = x или j = y или k = y.
- В конце программы выводится сообщение
Массив:
, за которым следует вывод значений массива a[i, j]. - Завершается программа вызовом функции readln.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д