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

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

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

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

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

textual
Листинг программы
  1. Program PABCP;
  2.  
  3. var
  4. A : array [1..10] of integer;
  5. F : text;
  6. i : integer;
  7.  
  8. function nextInLine() : boolean; // будем возвращать true / false
  9. var
  10. i : integer; // создадим переменную для цикла-счётчика for
  11. begin
  12. for i := 1 to 9 do begin // будем перебирать весь массив кроме последнего элемента, далее объясню почему...
  13. if (a[i] = A[i + 1]) then begin // если текущий элемент равен следующему элементу (вот для этого 50 - 1, иначе выйдем за рамки массива), тогда....
  14. nextInLine := true; // возвращаем ответ true (по умолчанию ответ был бы равен false, поэтому мы ни где в программе это не указываем)
  15. break; // досрочно завершаем цикл, ибо смысл искать дальше?
  16. end;
  17. end;
  18. end;
  19.  
  20. begin
  21.  
  22. assign(F, 'input.txt');
  23. reset(F);
  24. for i := 1 to 10 do begin
  25. readln(F, A[i]);
  26. end;
  27. close(F);
  28.  
  29. if (nextInLine() = true) then begin
  30. writeln('Есть такой элемент');
  31. else begin
  32. writeln('Таких элементов нет');
  33. end;
  34.  
  35. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы