program MaxNonLetterSeries; var str: string; i, count, maxCount: integer; prevIsLetter, currentIsLetter: boolean; maxNonLetterSeries: string; begin writeln('Введите строку:'); readln(str); count := 0; maxCount := 0; maxNonLetterSeries := ''; prevIsLetter := false; for i := 1 to length(str) do begin if not (str[i] in ['A'..'Z', 'a'..'z']) then begin count := count + 1; currentIsLetter := false; end else begin if count > maxCount then begin maxCount := count; maxNonLetterSeries := copy(str, i - count, count); end; count := 0; currentIsLetter := true; end; if not currentIsLetter and not prevIsLetter then begin count := 1; end; prevIsLetter := currentIsLetter; end; if count > maxCount then begin maxCount := count; maxNonLetterSeries := copy(str, length(str) - count + 1, count); end; writeln('Максимальная серия символов, отличных от букв: ', maxNonLetterSeries); end.
Пример работы программы:
Введите строку: abc123ab!@#$@ Максимальная серия символов, отличных от букв: !@#$
var
str: string;
i, count, maxCount: integer;
prevIsLetter, currentIsLetter: boolean;
maxNonLetterSeries: string;
begin
writeln('Введите строку:');
readln(str);
count := 0;
maxCount := 0;
maxNonLetterSeries := '';
prevIsLetter := false;
for i := 1 to length(str) do
begin
if not (str[i] in ['A'..'Z', 'a'..'z']) then
begin
count := count + 1;
currentIsLetter := false;
end
else
begin
if count > maxCount then
begin
maxCount := count;
maxNonLetterSeries := copy(str, i - count, count);
end;
count := 0;
currentIsLetter := true;
end;
if not currentIsLetter and not prevIsLetter then
begin
count := 1;
end;
prevIsLetter := currentIsLetter;
end;
if count > maxCount then
begin
maxCount := count;
maxNonLetterSeries := copy(str, length(str) - count + 1, count);
end;
writeln('Максимальная серия символов, отличных от букв: ', maxNonLetterSeries);
end.
Пример работы программы:
Введите строку:abc123ab!@#$@
Максимальная серия символов, отличных от букв: !@#$