ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила
вернуться в форум

Обсуждение задачи 1226. йынтарбО кодяроп

Crash (access violation) №9
Послано Iosif inf-10 28 ноя 2009 18:50
Program N1226;
var
  T:Array[1..10000] of char;

  S:string;
  i,j,Len:integer;
BEGIN
    i:=0;
    while (not eof) do
      begin
        inc(i);
        read(T[i]);
      end;

    Len:=i;
   T[i+1]:='!';
    i:=1;  S:='';
    while (i<=Len+1) do
          if (T[i] in ['a'..'z','A'..'Z'])
          then begin
          S:=S+T[i];
          inc(i)
          end
          else begin

          for j:=length(s) downto 1 do write(s[j]);
          S:='';

          if i<=Len then
          write(T[i]);
          inc(i);
          end;
END.

Crash (access violation)    №9

!!!!!!!!!!!!!!!!!!!
BUT When I add:
 "W:array [1..255] of char;"


Program N1226;
var
  T:Array[1..10000] of char;
  W:array [1..255] of char; //<----------Accepted
  S:string;
  i,j,Len:integer;
BEGIN
    i:=0;
    while (not eof) do
      begin
        inc(i);
        read(T[i]);
      end;

    Len:=i;
   T[i+1]:='!';
    i:=1;  S:='';
    while (i<=Len+1) do
          if (T[i] in ['a'..'z','A'..'Z'])
          then begin
          S:=S+T[i];
          inc(i)
          end
          else begin

          for j:=length(s) downto 1 do write(s[j]);
          S:='';

          if i<=Len then
          write(T[i]);
          inc(i);
          end;
END.

Accepted!
Why???

Edited by author 28.11.2009 18:51
Re: Crash (access violation) №9
Послано unlucky [Vologda SPU] 28 ноя 2009 20:14
Yep.. it is strange.
Array W is not used at second program and codes are the same