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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.05.2013, 08:42   #1
(Нафаня)
Пользователь
 
Аватар для (Нафаня)
 
Регистрация: 08.03.2011
Сообщений: 56
По умолчанию Не запускается программа

При запуске вылетает ошибка: "Проект ... вызвал исключение класса EInOutError c сообщением 'I/O error 103'. Процесс остановлен. Используйте Шаг или Запуск для продолжения"

В текстовом файле находятся строки(не более 30). Отсортировать файл в порядке возрастания длин строк

Код:
Procedure MergeSort(name:string; var f:text); {Естественное слияние}
Var
  s1,s2,a1,a2,where,tmp:integer;
  f1,f2:text;
Begin
  s1:=5;
  s2:=5; {числа, которые запустят while }
  Assign(f,name);
  Assign(f1,'fil1.txt');
  Assign(f2,'fil2.txt');
  While (s1>1) and (s2>=1) do
    begin
     where:=1;
     s1:=0;
     s2:=0;
     Reset(f);
     Rewrite(f1);
     Rewrite(f2);
     Read(f,a1);
     Write(f1,a1,' ');
     While not EOF(f) do
       begin
         read(f,a2);
         If (a2<a1) then
           begin
             Case where of
               1: begin
                    where:=2;
                    inc(s1);
                  End;
               2: begin
                    where:=1;
                    inc(s2);
                  End;
             End;
           End;
        Case where of
          1: write(f1,a2,' ');
          2: write(f2,a2,' ');
        End;
      a1:=a2;
    End;
  If where=2 then
    inc(s2)
  else
    inc(s1);
  Close(f);
  Close(f1);
  Close(f2);
  Rewrite(f);
  Reset(f1);
  Reset(f2);
  Read(f1,a1);
  Read(f2,a2);
  While (not EOF(f1)) and (not EOF(f2)) do
    begin
      If (a1<=a2) then
        begin
          Write(f,a1,' ');
          Read(f1,a1);
        End
      else
        begin
          Write(f,a2,' ');
          Read(f2,a2);
        End;
    End;
  While not EOF(f1) do
    begin
      tmp:=a1;
      Read(f1,a1);
      If not EOF(f1) then
        Write(f,tmp,' ')
      else
        Write(f,tmp);
    End;
  While not EOF(f2) do
    begin
      tmp:=a2;
      Read(f2,a2);
      If not EOF(f2) then
        Write(f,tmp,' ')
          else
            Write(f,tmp);
        End;
      Close(f); Close(f1); Close(f2);
    End;
  Erase(f1);
  Erase(f2);
End;
var
  s:string;
  g:text;
begin
  Assign(g,'C:\text\fil.txt');
  writeln(g,s);
  MergeSort(s,g);
  close(g);
end.
Если бы люди,вдруг,узнали,о чем я думаю... Со мной бы сначала перестали здороваться,а потом,вообще,на костре сожгли бы нафиг
(Нафаня) вне форума Ответить с цитированием
Старый 06.05.2013, 08:54   #2
(Нафаня)
Пользователь
 
Аватар для (Нафаня)
 
Регистрация: 08.03.2011
Сообщений: 56
По умолчанию

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


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа не запускается lialia Паскаль, Turbo Pascal, PascalABC.NET 5 27.03.2013 10:24
Не запускается программа (Нафаня) Помощь студентам 9 27.12.2012 23:43
Не запускается программа (Нафаня) Помощь студентам 4 27.12.2011 06:29
Не запускается программа Pommity Помощь студентам 4 29.11.2008 18:48
Не запускается программа. Yar Помощь студентам 5 28.08.2008 11:26