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

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

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

> Однонаправленный список, Работа с элементами
FENIX
сообщение 29.03.2005 20:58
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 45
Пол: Мужской

Репутация: -  0  +


Объект - однонаправленный список без головного элемента.
Частное от деления первых 2-х элементов поместить на 3-е место, если первый элемент больше, иначе заменить первые элементы их суммой.
Что-то не допираю, как сделать unsure.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 29.03.2005 21:36
Сообщение #2


Гость






Для начала прочитать здесь: FAQ: Списки, и создать сам список... Я думаю, после прочтения проблема исчезнет smile.gif ...
 К началу страницы 
+ Ответить 
FENIX
сообщение 29.03.2005 22:18
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 45
Пол: Мужской

Репутация: -  0  +


Цитата(volvo @ 29.03.05 21:36)
Для начала прочитать здесь: FAQ: Списки, и создать сам список... Я думаю, после прочтения проблема исчезнет smile.gif ...

Список я создал и все вроде работает (я только не пойму, что с памятью - ПОСЛЕ работы проги ее становится больше blink.gif ).
:low:
Код


Uses Crt;
type Inf = Real;

   Ptr = ^EL;
   EL = record
      Dn : Inf;
      Nx : Ptr;
   end;

  List = object
  Last, First : ptr;
  Count : integer;

  Constructor Init;
  Destructor Done;

  Procedure Delenie;
  Procedure Add_End (D : Inf);
  Procedure Add_Head (D : Inf);
  Procedure Clear;
  Procedure EraseElement (p : ptr);
  Procedure Print;
  end;

  Constructor List.Init;
  begin
     Count := 0;
     First := nil;
     Last := nil;
  end;

  Destructor List.Done;
  begin
     Clear;
  end;

  Procedure List.Clear;
     begin
        EraseElement(First);
        Count := 0;
        Last := nil;
     end;

  Procedure List.EraseElement(p : ptr);
  begin
     if p <> nil then
     begin
        EraseElement(p^.Nx);
        Dispose(p);
        p := nil;
    end;
  end;

  Procedure List.Add_Head(D : Inf);
  var p, q : Ptr;
  begin
     New(p);
     p^.Dn := D;
     p^.Nx := q;
     q := p;
  end;

  procedure List.Add_End(D : Inf);
  var p : Ptr;
  begin
     New(p);
     p^.Dn := D;
     p^.Nx := nil;
     if Last = nil then
     begin
        First := p;
        Last := p;
     end
     else
     begin
        Last^.Nx := p;
        Last := p;
     end;
     Inc(Count);
  end;

  Procedure List.Print;
  var p : Ptr;
  begin
     p := First;
     While p <> nil do
     begin
        write(p^.Dn : 4,' ');
        p := p^.Nx;
     end;
     writeln;
  end;

=====================================================
  Procedure List.Delenie;
  var q, s, c : ptr;
  Chastnoe, a, b : inf;
  begin
     a := First^.Dn;
     q := First^.Nx;
     b := s^.Dn;
     If a > b then
     begin
     Chastnoe := a / b;
     s := q^.Nx;
     s := nil;
     end
     else
     writeln('Help plz;) ');
  end;
=====================================================

  var L1 : List;
      A : integer;

  BEGIN
  ClrScr;


{$I+}
     Assign(input, 'input.txt');
     Reset(input);
{$I-}
    while not EoF do
    begin
       Read(A);
       {L1.Add_Head(A);}
       L1.Add_End(A);
    end;
    writeln('Pamyati DO= ',MemAvail);
        writeln;
        L1.Print;
        L1.Delenie;
        Close(Input);
        L1.Done;
        writeln;
        writeln('Pamyati POSLE= ',MemAvail);
        readln;
  END.

В процедуре Delenie я и намерен все сделать. Частное находит верно, но не могу понять, как 3-ий элемент заменить частным...

Сообщение отредактировано: FENIX - 29.03.2005 22:21
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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


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

 



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