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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.03.2012, 12:44   #1
Npwas
Форумчанин
 
Аватар для Npwas
 
Регистрация: 26.09.2011
Сообщений: 158
Вопрос Списки с указателями!(Delphi)

ЛЮДИ НУ МОЖЕТЕ ХОТЬ КТО-НИБУДЬ ПОМОЧЬ, Я УЖЕ 5-ТЫЕ СУТКИ ДОЛБЛЮСЬ И НЕ КАК НЕ МОГУ ТОЛКОМ ПРОДВИНУТЬ С ПОСТРОЕНИЕМ СПИСКО С ПОМОЩЬЮ УКАЗАТЕЛЕЙ! ВОТ ТОК ЧУТОК ПРОДВИНУЛСЯ НО ВСЕРАВНО ЛАЖА! ВОТ СУТЬ ПРОБЛЕМУ ПОЯВИВШЕЙСЯ В МОЕМ НУДНОМ И МЕДЛЕННОМ ПРОДВИЖЕНИИ:

У меня ошибка в том, что выводить лишь только последний эл-т введенный в список!!! Как сделать чеб все выводило?!
Вот код программы:
Код:

program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

TYPE
  Ukazatel = ^S;
  S = Record
       Data : integer;
       Next : Ukazatel ;
  End;

VAR
  x,u: Ukazatel;
  g,p:integer;

{ПРОЦЕДУРА ВВОДА}
Procedure Init(Digit : integer);
Var
  x, y : Ukazatel;
BEGIN
  u := Nil;
  New(y);
  y^.Next := Nil;
  y^.Data := Digit;
  if u=Nil
   then
    u := y
  else
   x^.Next := y;
  x := y
END;
{ТЕЛО}
BEGIN
 g:=1;
  While g<>0 do
   begin
     Writeln('1.Vvod');
     Writeln('2.Vivod');
     Writeln('3.Vihod');
     Readln(g);
     Writeln;
     case g of
        1: Begin
             Write('Vvedite chislo:  ');
             Readln(p);
             Init(p)
           End;
        2: Begin
             While u<>nil do
               begin
                Write(u^.Data, '     ');
                u := u^.Next
               end;
              writeln
           End
     end
   end;
 Writeln('The End');
 Readln
END.
<----Весы Там.

Последний раз редактировалось Npwas; 27.03.2012 в 13:11. Причина: I'm be stupid in lists with pointers!!!
Npwas вне форума Ответить с цитированием
Старый 27.03.2012, 13:25   #2
GetMax
Форумчанин
 
Регистрация: 21.10.2010
Сообщений: 588
По умолчанию

Подправил процедуру заполнения списка. Должно работать
Код:
Type
  pList = ^tList;
  tList = record
    value:integer;
    next:pList;
  end;
Var
  lst:pList;
  Digit:Integer;
Procedure Input(var spis1:pList;dig:integer);
Var
  tmp:pList;
Begin
  if spis1 = nil then
  Begin
    new(spis1);
    tmp:=spis1
  End
  Else
  Begin
    tmp:=spis1;
    while tmp^.next <> nil do tmp:=tmp^.next;
    new(tmp^.next);
    tmp:=tmp^.next;
  End;
  tmp^.next:=nil;
  tmp^.value:=dig;

End;
BEGIN
 g:=1;
  While g<>0 do
   begin
     Writeln('1.Vvod');
     Writeln('2.Vivod');
     Writeln('3.Vihod');
     Readln(g);
     Writeln;
     case g of
        1: Begin
             Repeat
                Readln(Digit);
               if Digit <> 0 then Input(lst,Digit) //заполняем список до нулевого элемента
               Until Digit = 0 ;
           End;
        2: Begin
             while lst <> nil do
             Begin
                Writeln(lst^.value);
                lst:=lst^.next
             End;
              writeln
           End
     end
   end;
End.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Для благодарностей WMR R145235935681

Последний раз редактировалось GetMax; 27.03.2012 в 13:31.
GetMax вне форума Ответить с цитированием
Старый 27.03.2012, 13:32   #3
Npwas
Форумчанин
 
Аватар для Npwas
 
Регистрация: 26.09.2011
Сообщений: 158
По умолчанию

Спасиб за помощь!!! Жаль ток чет не могу те на весы нажать!!! У меня тут чето если один раз человеку уже нажимала на весы то 2-ой раз не могу уже!!! Видимо уже когда успел нажать!!! СПС!!!
<----Весы Там.
Npwas вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Списки с указателями, как пользоватьс?(Delphi) Npwas Помощь студентам 0 26.03.2012 13:27
Списки в Delphi Razdolbam Помощь студентам 0 14.03.2011 15:00
Delphi, списки edmynt Помощь студентам 1 23.02.2010 18:02
списки в Delphi -COREY- Помощь студентам 0 08.12.2009 19:55
Delphi списки tanek Помощь студентам 6 05.11.2009 23:21