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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.05.2015, 16:01   #1
svetik290895
Пользователь
 
Регистрация: 10.05.2015
Сообщений: 12
По умолчанию Односвязный список

Создать односвязный список типа очередь. Поменять местами первый и второй элементы. Удалить первый элемент и 5-й. Добавить новый в конец списка, получившийся список переписать в файл. Результаты отображать на экране. Не получается сделать запись в файл...помогите пожалуйста...остальное все работает..
Код:
uses crt;
const n=20;
type spisok=^zap;
     zap=record
     inf:integer;
     next:spisok;
end;
var a,b,beg,c,t:spisok;
    k,m,i:integer;
    f:file of integer;
Procedure Sozd_O;
 begin
  new(a);
   a^.inf:=maxint;
    b:=a;
     beg:=a;
      a^.next:=nil;
       for i:=2 to n do
        begin
          new(a);
           a^.inf:=random(20);
            b^.next:=a;
             b:=a;
              a^.next:=nil;
         end;
  end;
Procedure Print_O;
 begin
  a:=beg^.next;
   while a^.next<> nil do
    begin
     write(a^.inf:4);
     a:=a^.next;
    end;
 end;
Procedure pomenat;
 begin
 writeln;
  writeln('pomenat mestami 1 i 2 element');
   a:=beg^.next;
     k:=a^.next^.inf;
       a^.next^.inf:=a^.inf;
        a^.inf:=k;
   end;
Procedure del;
   begin
    writeln;
     writeln('ydalit 1 i 5 element');
      a:=beg^.next;
        for i:=2 to 5 do
         a:=a^.next;
          c:=a^.next;
           a^.next:=a^.next^.next;;
            dispose(c);
            begin
             a:=beg^.next;
                 dispose(beg);
                   beg:=a;
             end;
     end;
Procedure dobavit;
 begin
  writeln;
   writeln('dobavit novii element v konec');
    new(t);
     t^.inf:=random(30);
      a^.next:=t;
       a:=t;
        a^.next:=nil;
 end;
Procedure zapis;
   begin
   writeln;
    writeln('zapisat fail');
     rewrite(f);
         while a^.next<>nil do
           begin
            write(f,a^.inf);
              a:=a^.next;
               close(f);
            end;
     end;
Procedure vivod;
 begin
  while a^.next<>nil do
           begin
            write(f,a^.inf);
              a:=a^.next;read(f,m);
               write(m)
            end;
      close(f);
         readln;
 end;
begin
clrscr;
randomize;
Assign(f,'C:\pp.txt');
Sozd_O;
Print_O;
pomenat;
Print_O;
del;
Print_O;
dobavit;
Print_O;
zapis;
Print_O;
vivod;
Print_o;
readln;
end.

Последний раз редактировалось Stilet; 12.05.2015 в 16:06.
svetik290895 вне форума Ответить с цитированием
Старый 12.05.2015, 16:56   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

форматирование кода зачётное!!
Интересно, это кто-то специально так сделал или случайно так вышло?!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 12.05.2015, 18:27   #3
svetik290895
Пользователь
 
Регистрация: 10.05.2015
Сообщений: 12
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
форматирование кода зачётное!!
Интересно, это кто-то специально так сделал или случайно так вышло?!
Так оформлять удобнее для помощи! Лучше бы помогли...
svetik290895 вне форума Ответить с цитированием
Старый 12.05.2015, 21:32   #4
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,309
По умолчанию

Могу предположить, что Вы не вовремя закрываете файл.
Код:
Procedure zapis;
   begin
   writeln;
    writeln('zapisat fail');
     rewrite(f);
         while a^.next<>nil do
           begin
            write(f,a^.inf);
              a:=a^.next;
               
            end;
     close(f);
     end;
Как-то так, ...
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
односвязный список imimim Помощь студентам 0 23.02.2015 16:00
Создать односвязный список и вывести его на экран. Из этого списка создать новый список по указанному ниже правилу и новый список San111 Паскаль, Turbo Pascal, PascalABC.NET 1 15.05.2012 22:08
Необходимо реализовать классы, односвязный список для хранения целых чисел, односвязный список для хранен lineico Помощь студентам 2 09.05.2011 17:45
[C] Односвязный список Dieno Помощь студентам 2 19.10.2009 18:52
C++. Односвязный список. Уничтожить список Olya90 Помощь студентам 2 10.06.2009 18:52