Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.04.2013, 15:09   #1
(Нафаня)
Пользователь
 
Аватар для (Нафаня)
 
Регистрация: 08.03.2011
Сообщений: 56
Восклицание Внешняя сортировка(естественное слияние)

При попытке запуска программы, пишет, что вот здесь
Код:
while not eof(f) do
    begin
      read(f,a[i]);
      i:=i+1;
end;
происходит выход за границы диапазона индексов. Пробовала с циклом for сделать, та же ошибка. Как тут по-другому сделать?
Код:
 program og;
 const n=5;
var f,fo:text;
  a:array[1..n] of string[30];
  c,s:string[30];
  i,k,j,minL:integer;
begin
  assign(f,'C:\text\inp.txt');
  reset(f);
  assign(fo,'C:\text\out.txt');
  rewrite(fo);
  i:=1;
  while not eof(f) do
    begin
      read(f,a[i]);
      i:=i+1;
    end;
  for j:=1 to i do
    writeln(a[j]);
  for k:=1 to i-1 do
    begin
      for j:=1 to i-k do
        if length(a[j])> length(a[j+1]) then
          begin
            c:=a[j];
            a[j]:=a[j+1];
            a[j+1]:=c;
          end;
    end;
  for j:=1 to i do
    writeln(fo,a[j]);
  close(f);
  close(fo);
end.
Если бы люди,вдруг,узнали,о чем я думаю... Со мной бы сначала перестали здороваться,а потом,вообще,на костре сожгли бы нафиг

Последний раз редактировалось (Нафаня); 07.04.2013 в 15:13.
(Нафаня) вне форума Ответить с цитированием
Старый 07.04.2013, 15:44   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

а попробуйте так написать:
Код:
  i:=0;
  while not eof(f) do
    begin
      i:=i+1;
      if i<=n then 
         readln(f,a[i])
      else begin
         WriteLn('#error: too many strings in file');
         Break;
      end; 
    end;
 for j:=1 to i do
    writeln(a[j]);
Serge_Bliznykov вне форума Ответить с цитированием
Старый 07.04.2013, 15:57   #3
(Нафаня)
Пользователь
 
Аватар для (Нафаня)
 
Регистрация: 08.03.2011
Сообщений: 56
По умолчанию

Спасибо, помогло) но ошибка все равно есть дальше) буду разбираться)
Если бы люди,вдруг,узнали,о чем я думаю... Со мной бы сначала перестали здороваться,а потом,вообще,на костре сожгли бы нафиг
(Нафаня) вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Внешняя сортировка. Естественное слияние. Fireblade-fan Помощь студентам 3 30.03.2012 20:18
Delphi.Естественное слияние для файлов krasshik Помощь студентам 0 21.10.2011 20:18
Естественное слияние Sparky Помощь студентам 0 31.05.2010 19:09
С++ Естественное двухпутёвое слияние Dobray Помощь студентам 2 23.12.2009 16:13
Естественное слияние в массивах Virus-Haker Помощь студентам 2 07.02.2008 13:40