Текстовый файл содержит только заглавные буквы латинского алфавита (ABC...Z). Определите максимальное количество идущих подряд символов, среди которых нет ни одной
Для выполнения этого задания следует написать программу. Ниже приведён файл, который необходимо обработать с помощью данного алгоритма.
Для решения данной задачи будем посимвольно считывать текстовый файл. Объявим
Приведём решение данной задачи на языке Pascal.
var k, max, countA: integer;
c: char;
f: text;
begin
assign(f,'C:\24.txt');
reset(f);
k := 0;
max := 0;
countA := 0;
while not Eof(f) do begin
read(f, c);
if (c = 'E') then begin
if countA > 2 then begin
if k > max then max := k;
end;
k := 0;
countA := 0;
end
else begin
if c = 'A' then countA := countA + 1;
k := k + 1;
end;
end;
if k > max then
max := k;
writeln(max);
end.
В результате работы данного алгоритма при вводе данных из файла в условии получаем ответ — 275.
Ответ: 275.
Примечание. Путь к файлу необходимо указать согласно расположению файла на Вашем компьютере.
Приведём решение Владимира Столярова на языке Pascal.
uses school;
var s2:=new List var s:=readalltext('24.txt'); var s1:=ReplaceMany(s,'E', ' ').towords; //s1 становится словами без букв E begin for var i:=0 to s1.length-1 do //перебор от 0 позиции до «количество слов минус 1» if s1[i].CountOf('A')>=3 then s2.add(s1[i].Length); //если в i-ом слове количество «А» больше или равно 3 то добавляем в список количество букв в слове print(s2.Max) //печать максимального количества букв end.
Приведём решение Даниила Рубана на языке Python.
f=open('24.txt')
N=f.readline()
q= 0
t= []
r=[]
for y in range(len(N)):
t=[]
while N[y]!='E' and y < (len(N)-1):
t.append(N[y])
if N[y]=='A':
q+=1
y+=1
if q >=3 and (len(t))>(len(r)):
r=t
q=0
print(len(r))
Приведём решение Вячеслава Волошина на языке Python.
f = open('24.txt')
maxlen = 0
for i in f.readline().split('E'):
if i.count('A') > 2:
maxlen = max(maxlen,len(i))
print(maxlen)

