Хелпикс

Главная

Контакты

Случайная статья





Приведём решение данной задачи на языке Pascal.



 

Задание 24

1. Текстовый файл состоит не более чем из 106 символов X, Y и Z. Определите максимальное количество идущих подряд символов, среди которых каждые два соседних различны.

Для выполнения этого задания следует написать программу. Ниже приведён файл, который необходимо обработать с помощью данного алгоритма. Файл 24.txt

Решение.

Для решения данной задачи будем посимвольно считывать текстовый файл. Объявим переменные c1 и c2, которые будут хранить предыдущий символ в файле и текущий. Также объявим переменные k и max. Первая нужна для определения длины каждой последовательности неповторяющихся символов, вторая — для хранения максимальной длины такой последовательности. Алгоритм будет сравнивать значение текущего символа со значением предыдущего и, если символы не будут повторяться, увеличивать значения счётчика k на 1.

 

Приведём решение данной задачи на языке Pascal.

var k, max: integer;

c1, c2: char;

f: text;

begin

assign(f,'C:\24.txt');

reset(f);

c1 := '0';

c2 := '0';

k := 1;

max := 0;

while not Eof(f) do begin

   c2 := c1;

   read(f, c1);

   if (c1 <> c2) and (c2 <> '0') then begin

       k := k + 1;

   end

   else begin

       if k > max then

           max := k;

       k := 1;

   end;

end;

if k > max then

   max := k;

writeln(max);

end.

 

В результате работы данного алгоритма при вводе данных из файла в условии получаем ответ — 35.

 

Ответ: 35.

 

2. Текстовый файл состоит не более чем из 106 символов X, Y и Z. Определите длину самой длинной последовательности, состоящей из символов X. Хотя бы один символ X находится в последовательности.

Для выполнения этого задания следует написать программу. Ниже приведён файл, который необходимо обработать с помощью данного алгоритма. Файл 24.txt



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.