Параметр цикла for должен описываться в заголовке цикла
var max,k,i:integer;
s:string;
begin
assign(input, 'zad_24.txt');
readln (s);
i:=1;
max:=1;
for i:=2 to length(s) do
if (s[i] = s[i-1]) and (s[i] = 'C') then
begin
k:=k+1;
if max>i then
max:=i;
end
else
max:=1;
writeln(i);
end.
Что здесь не так?
program zzz;
var
max, k, a: integer;
s: string;
begin
assign(input, 'zad_24.txt');
readln(s);
a := 1;
max := 1;
for var i := 2 to length(s) do
if (s[i] = s[i - 1]) and (s[i] = 'C') then
begin
k := k + 1;
if max > i then
max := i;
end
else
max := 1;
writeln(a);
end.
Объяснение:
Циклическую переменную i стоит использовать только в самом for, т. е. она выполняет функцию счетчика.
Я заменил переменную i вне цикла на переменную a.
Что касается ошибки "Параметр цикла for должен описываться в заголовке цикла" - for var i := 2 to length(s) do
Не нужно циклическую переменную указывать глобально в var