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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.08.2008, 19:17   #1
Seg_62
Новичок
Джуниор
 
Регистрация: 02.03.2008
Сообщений: 2
Восклицание Линейный двунаправленный список

Помогите решить задачу на Паскале, пожалуйста! Дан Л2 – линейный двунаправленный список целых чисел. Поменять порядок следования для каждой пары элементов списка, первый из которых четное число, а второй – нечетное. Стандартные процедуры и функции для работы с Л2 – списком расписывать не нужно. Данная подпрограмма должна быть написана в отдельном модуле.
Написать тестирующую программу для этой подпрограммы.
Seg_62 вне форума Ответить с цитированием
Старый 09.08.2008, 00:18   #2
sejay
 
Регистрация: 07.08.2008
Сообщений: 5
По умолчанию

Например
исходный список 1 2 4 3 7 1 2 8
выходной список 4 3 1 2 2 8 7 1
так?
приведи свой пример для уточнения
sejay вне форума Ответить с цитированием
Старый 11.08.2008, 18:32   #3
Seg_62
Новичок
Джуниор
 
Регистрация: 02.03.2008
Сообщений: 2
По умолчанию

Цитата:
Сообщение от sejay Посмотреть сообщение
Например
исходный список 1 2 4 3 7 1 2 8
выходной список 4 3 1 2 2 8 7 1
так?
Нет, выходной список 2 1 4 3 7 1 2 8.
Смотреть нужно по парам элементов. Если в паре оба элемента четные или нечетные, то ничего не меняем, смотрим следующую пару элементов. Если в паре сначала четный, а потом нечетный, то опять смотрим следующую пару элементов. Если в паре сначала нечетный, а потом четный, то меняем элементы в нужном порядке.
Seg_62 вне форума Ответить с цитированием
Старый 11.08.2008, 22:24   #4
Greblin
Меркантильный кю
Участник клуба
 
Аватар для Greblin
 
Регистрация: 02.02.2008
Сообщений: 1,001
По умолчанию

Выкладывай свои наработки, или в платный раздел
Росли вроде умными, выросли дурнями... (c)А.Васильев
Greblin вне форума Ответить с цитированием
Старый 28.08.2008, 21:02   #5
sejay
 
Регистрация: 07.08.2008
Сообщений: 5
По умолчанию

Код:
procedure convert(S:TSpisok);
var p,n:TSpisok;
begin
  p:=s;
  n:=s^.next;
  while (n<>nil)and(n^.next<>nil) do begin
    if ((p^.c mod 2) = 1) and ((n^.c mod 2) = 0) then change(p,n);
    p:=n^.next;
    n:=p^.next;
  end;
end;
sejay вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кольцевой линейный список Seafulf Паскаль, Turbo Pascal, PascalABC.NET 7 16.11.2013 20:02
Составить линейный список, Среда Delphi Kreaman Помощь студентам 1 11.06.2008 19:54
переписать из массива в линейный двунаправленный список чётные элементы массива Black_Ak24 Помощь студентам 12 08.01.2008 00:44
Линейный список Black_Ak24 Паскаль, Turbo Pascal, PascalABC.NET 2 04.01.2008 15:00