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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.11.2011, 13:43   #1
Allium
Новичок
Джуниор
 
Регистрация: 17.11.2011
Сообщений: 1
По умолчанию Проблема с лінійних списками.

э 2 поля integer додати 1 елемент до списку!

Код:
uses
  crt;

type
  TList = ^List;
  List = record
    inf1,inf2: integer;
    next: TList;
  end;

var
  first, last: TList;
  menu_index: integer;

procedure newList(var PTB: TList; var PTE: TList);
var
  i: integer;  
begin
  randomize;
  CLRSCR;
  writeln('Створення списку:');
  writeln();
  writeln();
  new(PTE);
  writeln('Елемент:', 1);
  for i := 2 to 9 do
  begin
    new(PTE^.next);
    PTE := PTE^.next;
    writeln();
    writeln('Елемент:', i);
    PTE^.inf1 := random(225);
    PTE^.inf2 := random(10);
  end;
  PTE^.next := nil;
  writeln;
  writeln('Для повернення до головного меняю натисніть ENTER');
  readkey;
end;

procedure addElem(var PTE: TList);
var
  i, m: integer;
begin
  CLRSCR;
  writeln('Додавання елементів до списку:');
  writeln;
  writeln('Додамо 1 елемент до списку згідно з завданням');
  
 

    new(PTE^.next);
    PTE := last^.next;
    writeln;
    writeln('Елемент:', i);
    write('Перше поле:'); readln(PTE^.inf1);
    write('Друге поле:'); readln(PTE^.inf2);

  PTE^.next := nil;
  writeln;
  writeln('Для повернення до головного меняю натисніть ENTER');
  readkey;
end;

procedure showList(var PTB: TList);
var
  i: integer;
begin
  CLRSCR;
  writeln('Виведення списку:');
  i := 1;
  while PTB <> nil do
  begin
    writeln;
    writeln('Елемент: ', i);
    writeln('Перше поле: ', PTB^.inf1);
    writeln('ДРуге поле: ', PTB^.inf2);
    PTB := PTB^.next;
    inc(i);
  end;
  writeln;
  writeln('Для повернення до головного меняю натисніть ENTER');
  readkey;
end;



begin
  while true do
  begin
  CLRSCR;
    writeln('Виберіть один із розділів меню');
    writeln('1 Створити список');
    writeln('2 Додавання елементів до списку');
    writeln('3 Виведення елементів списку');
    writeln('4 Вихід');
    writeln;
    writeln('Введіть номер розділу меню: ');
    read(menu_index);
    case menu_index of
      1: newList(first, last);
      2: addElem(last);
      3: showList(first);
      4: break;
    end
  end; 
  
end.
cуть в том что список вроде и создается но когда жмёшь вывести то выводится только 1 значение а не всё( подскажите где допустил ошибку



___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Allium; 17.11.2011 в 14:05.
Allium вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблема со списками absbelii Microsoft Office Excel 1 15.01.2011 10:42
проблема со списками 4e4en HTML и CSS 1 30.12.2009 09:06
проблема со списками pinch000 Общие вопросы C/C++ 0 18.12.2009 00:51
Проблема с кольцевыми списками CAXATbIU Общие вопросы Delphi 3 18.10.2009 00:51
Рішення системи лінійних рівнянь BlooDSikeR Помощь студентам 8 27.05.2009 20:01