Тема: EAccessViolation
Показать сообщение отдельно
  #7  
Старый 03.11.2008, 15:09
Drozh Drozh вне форума
Активный
 
Регистрация: 12.06.2008
Сообщения: 313
Репутация: 40
По умолчанию

Вот как типы указал, сразу стало ясно
Код:
var
 i, y, n, k, m: Integer;
 st: String;
 str: array of String; // массив динамический!!! Начинается с нуля!
 Input, Output: TextFile;
begin
 AssignFile(Input,'lookandsay.in'); // инициализация

 Reset(Input);// окрытие

 Readln(Input, n); // читается так

 Setlength(Str, n);

  for i := 0 to n-1 do // здесь у тебя была ошибка
  begin
   Readln(Input, st);
   m := length(st);
   k := 1;
    for y := 1 to m-1 do
    begin
     if st[y]=st[y+1] then
      Inc(k)
     else
     begin
      str[i] := str[i]+ IntToStr(k) + st[y];
      k := 1;
     end;
   end;
  end;
 
 CloseFile(Input); // закрываешь

 AssignFile(Output, 'lookandsay.out'); // все аналогично
 ReWrite(Output);

  for i:=0 to n-1 do
   Writeln(Output, str[i]);
 CloseFile(Output);
Ответить с цитированием