Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Pascal] Динамические структуры, дополнить 
:(
    Опции темы
Bellick
Дата 8.5.2008, 19:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 27.4.2008

Репутация: нет
Всего: нет



Здравствуйте! Помогите пожалуйста доделать следующую процедуру(CreateList):
Код

 type
PBook= ^TBook;
TBook=record
Next:PBook;
Author:string[15];
Name:string[41];
Publish:string[7];
year:word;
pages:word;
       end;
var
Book,
Beglist:Pbook;
Rel:pointer;
a:TBook;
Fbooks:file of TBook;
FI, FO:text;

procedure createlist;
begin
...
end;


procedure writelist(headline:string);
begin
rewrite(FO);
Writeln(FO);
Writeln(FO, Headline);
book:=beglist;
   while book<> NIL do
   begin
   with book^ do
   writeln(FO, Author:15, Name:41, Publish:7, Year:5, Pages:4);
   book:=book^.next;
   end;
   close(FO);
   end;
   procedure SortAuthor;
   var stop, first:boolean;
   book1, book2:Pbook;
   begin
       repeat
       stop:=true;
       book:=beglist;
       first:=true;
              while book^.next <> NIL do
              begin
                  if book^.Author > Book^.next^.Author then begin
                  book1:=book;
                  book:=book^.next;
                  if first then
                  beglist:=book
                    else
                    begin
                    book2:=beglist;
                    while book2^.next <> book1 do
                    book2:=book2^.next;
                    book2^.next:=book
                    end;
                    book1^.next :=book^.next;
                        book^.next:=book1;
                        stop:=false;
                        end;
                        first:=false;
                           book:=book^.next;
                           end;
            until stop;
            end;
  procedure writefile;
  begin
  assign (Fbooks, 'z6file.txt');
  rewrite(Fbooks);
  book:=beglist;
     while book <> NIL do
     begin
         write(Fbooks, Book^);
         book:=book^.next;
         end;
     close(Fbooks);
     end;
     procedure readfile;
     var
     k:integer;
     book1:Pbook;
     begin
     reset(FBooks);
     k:=filesize(FBooks);
     release(Rel);
     beglist:=NIL;
     while k>= 0 do
     begin
         book1:=book;
         dec(k);
             if k<0 then
             break;
             seek(FBooks, k);
             New(book);
                if beglist = NIL then
                Beglist:=book
                else
                book1^.next:=book;
            read(FBooks, Book^);
            Book^.next:=NIL
       end;
    close(Fbooks);
    end;
    begin
    Mark(Rel);
    Createlist;
    assign(FO, 'z6.res');
    writelist('Spisok:');
    SortAuthor;
    Writelist('otsortirovannij spisok:');
    Writefile;
    readfile;
    writelist('otsortirovano v protivopoloznom porjadke:');
    release(Rel);
END.



PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.1861 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.