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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.05.2016, 14:23   #1
Varner
Новичок
Джуниор
 
Регистрация: 19.05.2016
Сообщений: 4
Вопрос Часть кода сделал. Односвязный список без заглавного звена. Динамическая память. Перевернуть список и считать в обратном порядке.

Сделал до той части где просо выводит числа А именно до слово else закомментированного так если числа идут последовательно по возрастанию в смысле если там ввести 1,2,3,4,5 то он их проверяет и выводит их на экран .Теперь я не могу поставить условие чтобы когда например ввести числа не по возрастанию например 1,3,2,4,5 то он должен их проверять и повернуть список и вывести уже в обратном порядке 5,4,2,3,1
да и должен быть односвязный список без заглавного звена. ??

Код:
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;
  Type
   PSll=^TSll;
   TSll= record
      inf: Real;
      Next: PSll;
   end;
  var
   A,A1, Ol: PSll;
   I, N : Integer;
   B: Boolean;


begin
   Write('N=');
   ReadLn(N);
   New(A);
   Write('A1=');
   ReadLn(A^.inf);
   A^.Next:=nil;
   Ol:=A;
   for I:=2 to N do
     begin
       New(A1);
       Write('A',I,'=');
       ReadLn(A1^.Inf);
       Ol^.Next:=A1;
       Ol:=A1;
    end;
    ol^.Next:=nil;
    A1:=A;
    B:=True;
    while A1.Next<>nil do
      begin
        if A1^.Next.inf<A1^.inf then
          B:=False;
        A1:=A1^.Next;
      end;
    A1:=A;
    if B then
      for I:=1 to N do
        begin
          Write(A1^.inf:0:1,' ');
          A1:=A1^.Next;
        end;
  //else

   Readln
end.

Последний раз редактировалось Varner; 19.05.2016 в 14:34.
Varner вне форума Ответить с цитированием
Старый 19.05.2016, 15:12   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Вы можете написать условия вашей задачи полностью так, как они Вам даны?
без отсебятины?

иначе получается какая-то мешанина из слов, мыслей, предложений...

если я введу 10 5 1 47 99
что должна сделать программа?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 19.05.2016, 17:10   #3
Varner
Новичок
Джуниор
 
Регистрация: 19.05.2016
Сообщений: 4
По умолчанию

она должна написать 99 47 1 5 10
То есть в обратном порядке
Varner вне форума Ответить с цитированием
Старый 19.05.2016, 17:11   #4
Varner
Новичок
Джуниор
 
Регистрация: 19.05.2016
Сообщений: 4
По умолчанию

Исходные данные: n=10;
A={-2,6;-8,7;9;-7,5;-4,9;7,6;8,1;-9,5;-8,8;4,9}
Ожидаемый результат:
A={4,9;-8,8;-9,5;8,1;7,6;-4,9;-7,5;9;-8,7;-2,6}
Varner вне форума Ответить с цитированием
Старый 19.05.2016, 17:26   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

тут важный вопрос - нужно ИЗМЕНИТЬ (переписать) список в обратном порядке,
или достаточно ВЫВЕСТИ на экран в обратном порядке?

если второе, то из этой темы Паскаль: переписать строковый список в обратном порядке

код (через рекурсию):
Код:
procedure ReverseOutput(vk : PSll);
begin
  if (vk=nil) then exit;
  ReverseOutput(vk^.next);
  writeln(vk^.inf);
end;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 19.05.2016, 17:30   #6
Varner
Новичок
Джуниор
 
Регистрация: 19.05.2016
Сообщений: 4
По умолчанию

Нужно её переписать .а потом вывести
Varner вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль: переписать строковый список в обратном порядке aldmitt Помощь студентам 8 04.12.2013 23:14
Cоздать односвязный список из текстового файла без СТЛ weightless Общие вопросы C/C++ 0 11.09.2013 17:45
Создать односвязный список и вывести его на экран. Из этого списка создать новый список по указанному ниже правилу и новый список San111 Паскаль, Turbo Pascal, PascalABC.NET 1 15.05.2012 22:08
Pascal (turbo) Динамическая память (список, очередь, стек) Trol_ko Помощь студентам 5 14.09.2011 13:27
Необходимо реализовать классы, односвязный список для хранения целых чисел, односвязный список для хранен lineico Помощь студентам 2 09.05.2011 17:45