IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> чтение двумерного списка из файла
fIlIGrot
сообщение 10.12.2004 1:00
Сообщение #1


Гость






Здравствуйте! Не могли бы вы помочь в следующем: не получается написать процедуру чтения двумерного списка:
Код

type
    Pavtor=^book;
    book=record
    name:string;
    next:pavtor;
    end;

    Pbook=^allbook;
    allbook=record
    number:pavtor;
    name:string[10];
    next:pbook;
    end;

    filex=file of pbook;

из файла... Есть некоторая наработка:
Код

procedure open(var pr:pbook);
var pp,last,nach:pbook;
   ppp,lastt:pavtor;
   fil1:filex;
   fil2:text;
   s,x:string;
   i:integer;
begin
clrscr;
writeln('Vvedite name of file');
readln(s);
assign(fil1,s);
reset(fil1);
if pr<>nil then pr:= nil;
while not eof(fil1) do
begin
  new(pp);
  read(fil1, pp);
  pp^.next := nil;
  if pr = nil then pr := pp else last^.next := pp;
  last := pp;
end;
i:=1;
nach:=pr;
while assigned(pr^.number) do
      begin
           assign(fil2,pr^.name);
           reset(fil2);
           pr^.number:=nil;
           while not eof(fil2) do
                 begin
                      new(ppp);
                      x:='';
                      while x[i]<>' ' do
                      begin
                      x:=x+x[i];
                      i:=i+1;
                      end;
                      ppp^.name:=x;
                      i:=i+1;
                      if pr^.number= nil then
                                     pr^.number:= ppp
                                         else
                      lastt^.next:=ppp;
                 end;
           close(fil2);
           pr^.number:=pr^.number^.next;
      end;
pr:=nach;
end;

Пожалуйста, помогите sad.gif
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 10.12.2004 1:08
Сообщение #2


Гость






Цитата
не получается написать процедуру чтения двумерного списка

И не получится...
Код

Pbook=^allbook;
allbook=record
 number:pavtor;
 name:string[10];
 next:pbook;
end;

filex=file of pbook;

Что это значит? Файл содержит указатели на структуру? Не имеет смысла, т.к. адреса сами по себе не важны, важно содержимое памяти по этим адресам...

P.S. Ник QDe5n1K ничего не напоминает?
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 18.07.2025 20:54
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"