Цитата:
Сообщение от Евгений
У меня Free Pascal и всё работает.
|
Странно. Не должно работать: ошибка видна сразу.
Вот Вы ставите цикл с постусловием:
repeat
if A[i]=s1 then Inc(i)
else
if A[i]=A[i+1] then begin
Inc(t);
Inc(i)
end else begin
Writeln(f1,A[i],'-',t);
t:=1;
Inc(i)
end;
until i>n;
причем в теле цикла мало того, что допускается это самое i>n, так еще и делается обращение к элементу массива A[i+1]! Тут явный выход за границу массива, о чем транслятор у
kris_kaif и верещит. Вероятно, а Вас, Женя, эта проверка (выход индекса массива за пределы диапазона) по умолчанию отключена - вот и создается впечатление, что всё тип-топ. Но ошибку отсутствие проверки не снимает. Поправьте, пожалуйста.