Найти длину самой длинной цепочки одинаковых чисел, идущих подряд - Pascal

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

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

В файле data.txt записаны числа, сколько их – неизвестно. Найти длину самой длинной цепочки одинаковых чисел, идущих подряд, и записать её в файл output.txt
Найти длину самой длинной цепочки одинаковых чисел, идущих подряд, и записать её в файл output.txt в поиске нашел, но не знаю как должно это работать и как с файлом это все должно скооперироваться. Если просто в паскаль код ввести, то будет оповещение о том, что файл 'c:\data.txt' не найден

Решение задачи: «Найти длину самой длинной цепочки одинаковых чисел, идущих подряд»

textual
Листинг программы
var
    f, g: Text;
    count, maxCount: Word;
    max, temp, fi: Integer;
begin
    Assign(f, 'data.txt'); Reset(f);
    ReadLn(f, temp);
    count := 1; maxCount := 0;
    max := temp;
    while (Not EoF(f)) do
    begin
        ReadLn(f, fi);
        if (fi = temp)
        then
            Inc(count)
        else
        begin
            if (count > maxCount)
            then
            begin
                max := temp;
                maxCount := count;
            end;
            count := 1;
            temp := fi;
        end;
    end;
    Assign(g, 'output.txt'); ReWrite(g);
    WriteLn(g, 'Число: ', max, ', длина цепочки: ', maxCount);
    Close(f);
    Close(g);
end.

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

  1. Объявлены переменные:
    • f, g: Text;
    • count, maxCount: Word;
    • max, temp, fi: Integer;
  2. Открывается файл 'data.txt' для чтения и инициализируется переменная temp значением первого числа в файле.
  3. Инициализируются переменные count = 1 и maxCount = 0. Значение max устанавливается равным temp.
  4. В цикле while (Not EoF(f)) происходит чтение каждого следующего числа из файла и сохранение его в переменной fi.
  5. Если fi равно temp, то увеличивается значение count.
  6. Если fi не равно temp, то проверяется, является ли текущая последовательность чисел более длинной, чем предыдущая. Если это так, то значения max и maxCount обновляются. Затем count устанавливается равным 1, temp присваивается значение fi, и цикл продолжается.
  7. После окончания чтения файла, результаты записываются в файл 'output.txt'.
  8. Файлы f и g закрываются.
  9. Выводится сообщение с найденным максимальным числом и длиной его последовательности.

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


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

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

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