Требуется определить максимальный промежуток времени между двумя автобусами одного маршрута - PascalABC.NET

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

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

На автобусную остановку каждую минуту подходит автобус одного из маршрутов. Диспетчерская служба собрала данные за N минут – номера маршрутов каждого автобуса. Требуется определить максимальный промежуток времени между двумя автобусами одного маршрута. Пример 8(минут) 2 11 2 2 25 11 25 11(номера автобусов) => 4(наибольший промежуток) Другой пример 4 23 23 41 41 => 1

Решение задачи: «Требуется определить максимальный промежуток времени между двумя автобусами одного маршрута»

textual
Листинг программы
Const N = 8; {4;}
Var
  m    : array[1..N] of Integer := (2,11,2,2,25,11,25,11); {(23,23,41,41);}
  i,j  : Byte;
  max  : Integer;
Begin
  max:=0;
  For i:=1 to N-1 do
  Begin
    For j:=i+1 to N do
      If (m[i]=m[j]) and ((j-i)>max) then
      Begin
        max:=j-i;
        Break;
      end;
  end;
  Writeln(max);
end.

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

  1. В начале определяется константа N, которая задает количество автобусов в маршруте (в данном случае 8).
  2. Затем объявляется массив m, который содержит интервалы времени между автобусами. В данном случае это (23,23,41,41).
  3. Далее объявляются две переменные i и j типа Byte, которые будут использоваться в циклах.
  4. Также объявляется переменная max типа Integer, которая будет использоваться для хранения максимального интервала времени.
  5. Переменная max инициализируется значением 0.
  6. Затем идут два вложенных цикла. Первый цикл идет от 1 до N-1 и выполняет следующие действия:
    1. Второй цикл идет от i+1 до N и проверяет, равны ли значения в массиве m для текущего элемента и следующего элемента. Если это так, то проверяется, больше ли разница между этими элементами максимального значения, хранящегося в переменной max. Если это так, то значение переменной max обновляется, и цикл прерывается с помощью оператора Break.
  7. После завершения циклов выводится значение переменной max.
  8. В данном случае результатом будет 23, так как это максимальный интервал времени между автобусами в данном маршруте.

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


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

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

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