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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 13.05.2015, 19:44   #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('perepisat v file');
      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;
begin
clrscr;
randomize;
Assign(f,'C:\pp.txt');
Sozd_O;
Print_O;
pomenat;
Print_O;
del;
Print_O;
dobavit;
Print_O;
zapis;
Print_o;
readln;
end.
Кросспост
http://programmersforum.ru/showthread.php?t=277590

Последний раз редактировалось Аватар; 13.05.2015 в 20:03.
svetik290895 вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление узлов в односвязном списке Niklitel Помощь студентам 1 01.03.2014 14:41
Последовательный поиск в односвязном списке vo0vka Помощь студентам 2 01.12.2012 23:49
Очистка памяти в односвязном списке Sigwey Помощь студентам 0 28.12.2010 17:02
Поиск в односвязном списке DOJ Общие вопросы C/C++ 6 04.10.2009 13:34
Обмен местами 2х элементов в односвязном списке. amdbodia Общие вопросы C/C++ 4 31.05.2009 23:26