Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/18: Рейтинг темы: голосов - 18, средняя оценка - 4.94
1 / 1 / 0
Регистрация: 06.04.2011
Сообщений: 117
1

Написать функцию, которая использует исходный список L и создает два новых списка L1 и L2. L1 содержит нечетные числа, а L2 – четные

01.10.2011, 13:36. Показов 3577. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
всем привет!
ребят, вы не поможете с задачкой?
Написать функцию, которая использует исходный список L и создает два новых списка L1 и L2. L1 содержит нечетные числа, а L2 – четные.
был бы очень благодарен.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.10.2011, 13:36
Ответы с готовыми решениями:

Написать функцию, которая из списка образует два новых списка. Один содержит нечетные числа, а второй - парные
Помогите закончить одно из заданий по работе со списком: Написать функцию, которая использует...

Список: Взять исходный список SP и создать два новых списка SP1 и SP2. SP1 содержит нечетные узлы, а SP2 – четные
Что-то карета не вывезла и превратилась в тыкву. не могу понять почему данные не записывают в...

Написать функцию, использующую список, содержащий нечётные числа и создающую 2 новых списка с парными числами
Написать функцию , которая использует первоначальный список L и создает два новых списка L1 и L2....

Определите функцию (f s), которая из списка чисел s создает новый список, меняя знак у каждого атома. Исходный список не предполагается одноуровневым
Определите функцию (f s), которая из списка чисел s создает новый список, меняя знак у каждого...

1
13104 / 5885 / 1706
Регистрация: 19.09.2009
Сообщений: 8,808
01.10.2011, 17:15 2
Лучший ответ Сообщение было отмечено F. Alonso как решение

Решение

Решение на основе односвязанного списка.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
program Project1;
 
type
  //Типы для описания списка.
 
  //Тип данных - определяет данные, которые будет содержать каждый элемент списка.
  TData = Integer;
  //Тип, описывающий элемент списка.
  TPElem = ^TElem;
  TElem = record
    Data : TData;
    PNext : TPElem;
  end;
  //Тип, описывающий список.
  TList = record
    PFirst : TPElem;
    PLast : TPElem;
  end;
 
//Процедуры для работы со списком.
 
//Удаление всего списка из памяти и инициализация.
procedure ListFree(var aList : TList);
var
  PNext, PDel : TPElem;
begin
  if aList.PFirst = nil then Exit;
 
  PNext := aList.PFirst;
  while PNext <> nil do begin
    PDel := PNext;
    PNext := PNext^.PNext;
    Dispose(PDel);
  end;
 
  aList.PFirst := nil;
  aList.PLast := nil;
end;
 
//Добавление элемента в конец списка.
procedure AddL(var aList : TList; const aPElem : TPElem);
begin
  if aPElem = nil then Exit;
 
  aPElem^.PNext := nil;
  if aList.PFirst = nil then begin
    aList.PFirst := aPElem;
    aList.PLast := aPElem;
  end else begin
    aList.PLast^.PNext := aPElem;
    aList.PLast := aPElem;
  end;
end;
 
var
  List1, List2, List3 : TList;
  PElem, PNew : TPElem;
  S : String;
begin
  List1.PFirst := nil;
  List1.PLast := nil;
  List2.PFirst := nil;
  List2.PLast := nil;
  List3.PFirst := nil;
  List3.PLast := nil;
 
  repeat
    Writeln('Задайте список целых чисел через пробел');
    Writeln('и нажмите Enter:');
    repeat
      New(PElem);
      Read(PElem^.Data);
      AddL(List1, PElem);
    until Eoln(Input);
    Readln;
 
    //Распечатка элементов списка.
    Writeln('Составлен динамический список. Элементы списка:');
    PElem := List1.PFirst;
    while PElem <> nil do begin
      if PElem <> List1.PFirst then Write(', ');
      Write(PElem^.Data);
      PElem := PElem^.PNext;
    end;
    Writeln;
 
    //Составление списков чётных и нечётных чисел.
    PElem := List1.PFirst;
    while PElem <> nil do begin
      New(PNew);
      PNew^.Data := PElem^.Data;
      if PElem^.Data mod 2 = 0 then
        AddL(List2, PNew)
      else
        AddL(List3, PNew)
      ;
      PElem := PElem^.PNext;
    end;
 
    //Распечатка составленных списков.
 
    Writeln('Список чётных чисел:');
    PElem := List2.PFirst;
    while PElem <> nil do begin
      if PElem <> List2.PFirst then Write(', ');
      Write(PElem^.Data);
      PElem := PElem^.PNext;
    end;
    Writeln;
 
    Writeln('Список нечётных чисел:');
    PElem := List3.PFirst;
    while PElem <> nil do begin
      if PElem <> List3.PFirst then Write(', ');
      Write(PElem^.Data);
      PElem := PElem^.PNext;
    end;
    Writeln;
 
    //Удаление списокв из памяти.
    ListFree(List1);
    ListFree(List2);
    ListFree(List3);
    Writeln('Списки удалены из памяти.');
 
    Writeln('Повторить - Enter. Выход - любой символ + Enter.');
    Readln(S);
  until S <> '';
end.
0
01.10.2011, 17:15
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.10.2011, 17:15
Помогаю со студенческими работами здесь

Создать два новых файла, первый из которых содержит четные числа из исходного файла, а второй — нечетные
Дан файл вещественных чисел. Создать два новых файла, первый из которых содержит четные числа из...

Создать два новых файла, первый из которых содержит четные числа из исходного файла, а второй — нечетные (в том же порядке)
1. Дан файл целых чисел. Создать два новых файла, первый из которых содержит четные числа из...

Написать функцию, которая упорядочивает элементы списка: впереди - нечетные, в конце - четные
Помогите написать программу на Haskell) Написать функцию, которая упорядочивает элементы списка...

Написать функцию, которая создает список L2, являющийся копией списка L1, начинающегося с данного узла
Написать функцию, которая создает список L2, являющийся копией списка L1, начинающегося с данного...

создать функцию, которая создает 2 новых списка
Написать функцию, которая использует исходный список L и создает два новых списка L1 и L2. L1...

Разделить исходный файл на два, записав в один только четные числа, а в другой - нечетные
Текстовый файл содержит несколько строк, в каждой из которых записано целое число. Разделить этот...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru