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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.12.2011, 10:20   #1
Exoo
Пользователь
 
Регистрация: 25.03.2010
Сообщений: 53
Вопрос задание по динамическим структурам данных

Помогите пожалуйста понять задание по динамическим структурам данных:

Цитата:
Даны натуральное число n, действительные числа а1,...,аn заканчивающиеся 0. Преобразовать последовательность а1,...,аn, расположив в начале отрицательные члены, а затем - неотрицательные. При этом: порядок тех и других чисел изменяется на обратный
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок, а в том, чтобы писать программы, работающие при любом количестве ошибок.
Exoo вне форума Ответить с цитированием
Старый 29.12.2011, 01:10   #2
Exoo
Пользователь
 
Регистрация: 25.03.2010
Сообщений: 53
По умолчанию

может когда нибудь кому нибудь пригодится )
Код:
Program dinam_v19_stack;
Type
  EXST = ^ST;
  ST = record
       Data : integer;
       Next : EXST;
  End;
Var
  Stack : EXST; {Текущая переменная}
  i,j,n : byte;

  str:array [1..100] of integer;
  c : char;

Procedure writeStack(Var u : EXST; Simvol : integer);
Var
  x : EXST;
Begin
  new(x);
  x^.Data := Simvol;
  x^.Next := u;
  u := x;
End;

Procedure Print1(Var u : EXST);
Begin
  while u <> Nil do
    Begin
    if u^.Data<0 then
       begin
      write (u^.Data,' ');
      u := u^.Next;
      end
    else u := u^.Next;
    End;
  End;
  
  Procedure Print2(Var u : EXST);
Begin
  while u <> Nil do
    Begin
    if u^.Data>0 then
      begin
      write (u^.Data,' ');
      u := u^.Next;
      end
    else u := u^.Next;
    End;
  End;


Begin
  Stack := Nil;
  writeln;
  write('Enter N> ');
  readln(n);
  for i:=1 to n Do begin readln(str[i]); writeStack(Stack, str[i]); end;
  writeln;
  for i:=n downto 1 do Print1(Stack);
  for i:=1 to n Do writeStack(Stack, str[i]);
  for i:=n downto 1 do Print2(Stack);


End.
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок, а в том, чтобы писать программы, работающие при любом количестве ошибок.

Последний раз редактировалось Exoo; 29.12.2011 в 22:30.
Exoo вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по динамическим структурам Sergy Win Api 2 10.05.2011 13:37
Задача по динамическим структурам данных bizzycv Общие вопросы Delphi 1 14.04.2011 19:32
Ошибки в программе по динамическим структурам Татьянка101 Помощь студентам 4 04.02.2010 19:22
Помогите разобраться с лабораторной по динамическим структурам данных TiK_Tak Помощь студентам 8 25.11.2009 13:32
Прошу вашей помощи в реализации программы по динамическим структурам technotamplier Помощь студентам 0 25.10.2009 22:20