Есть ли в очереди хотя бы один элемент, который равен следующему за ним - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Описать процедуру, которая определяет, есть ли в очереди хотя бы один элемент, который равен следующему за ним элементу. С модулем, надо завтра сдавать, сам не могу разобраться, наработок нет [cut] - без таких ответов пожалуйста

Решение задачи: «Есть ли в очереди хотя бы один элемент, который равен следующему за ним»

textual
Листинг программы
Program PABCP;
 
var
A : array [1..10] of integer;
F : text;
i : integer;
 
function nextInLine() : boolean; // будем возвращать true / false
var
i : integer; // создадим переменную для цикла-счётчика for
begin
for i := 1 to 9 do begin // будем перебирать весь массив кроме последнего элемента, далее объясню почему...
if (a[i] = A[i + 1]) then begin // если текущий элемент равен следующему элементу (вот для этого 50 - 1, иначе выйдем за рамки массива), тогда....
nextInLine := true; // возвращаем ответ true (по умолчанию ответ был бы равен false, поэтому мы ни где в программе это не указываем)
break; // досрочно завершаем цикл, ибо смысл искать дальше?
end;
end;
end;
 
begin
 
assign(F, 'input.txt');
reset(F);
for i := 1 to 10 do begin
readln(F, A[i]);
end;
close(F);
 
if (nextInLine() = true) then begin
writeln('Есть такой элемент');
else begin
writeln('Таких элементов нет');
end;
 
end.

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

  1. Создается переменная A типа array [1..10] of integer. Это массив из 10 целых чисел.
  2. Создается переменная F типа text. Это строковый указатель, который будет использоваться для чтения и записи в файл.
  3. Создается переменная i типа integer. Это счетчик для цикла.
  4. Определяется функция nextInLine типа boolean. Эта функция будет проверять, есть ли в массиве хотя бы один элемент, который равен следующему за ним.
  5. Внутри функции nextInLine определяется переменная i типа integer. Она будет использоваться для цикла-счетчика.
  6. Запускается цикл for i := 1 to 9 do begin, где i - это счетчик. Цикл будет выполняться 9 раз, начиная с 1 и заканчивая 9 (исключая 9).
  7. Внутри цикла проверяется условие if (a[i] = A[i + 1]) then begin. Если текущий элемент массива равен следующему элементу (это проверяется путем сравнения a[i] и A[i + 1]), то функция nextInLine возвращает true.
  8. Если условие из пункта 7 не выполняется, то цикл завершается досрочно (break;), так как нет смысла продолжать поиск.
  9. После завершения цикла for вызывается функция nextInLine. Если она вернула true, то выводится сообщение Есть такой элемент. В противном случае выводится сообщение Таких элементов нет.
  10. Закрывается файл F.
  11. Выполняется проверка if (nextInLine() = true). Если функция nextInLine вернула true, то выводится сообщение Есть такой элемент. В противном случае выводится сообщение Таких элементов нет.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.5 из 5
Похожие ответы