0 / 0 / 0
Регистрация: 12.04.2019
Сообщений: 7
1

Продублировать в списке все элементы с нечетными номерами (Pascal -> С++)

29.05.2019, 21:54. Показов 898. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день.Есть готовый код на паскале работающий с указателями и очередями.Нужен перевод на С++.
Задание:Дан указатель P1 на первый элемент непустого двусвязного списка. Продублировать в списке все элементы с нечетными номерами (новые элементы добавлять перед существующими элементами с такими же значениями) и вывести указатель на первый элемент преобразованного списка.
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
program Pointer37;
type
  PNode=^TNode;
  TNode=record
    Data: Integer;
    Next: PNode;
    Prev: PNode;
  end;
 
procedure CreateList(var P1,P2:PNode);
var
 pt1,pt2:PNode;
 i,N:integer;
begin
 Write('NumEl:');
 Readln(N);
 new(p1);
 Write('num: ');
 Readln(P1^.Data);
 pt2:=p1;
 
 for i:=1 to N-1 do
  begin
   new(pt1);
   Write('num: ');
   Readln(pt1^.Data);
   pt1.Prev:=pt2;
   pt2.Next:=pt1;
   pt2:=pt2.Next;
  end;
 pt2.Next:=nil;
 p2:=pt2;
end;
 
procedure InsertBefore(P0:PNode;D:integer);
var
 temp:PNode;
begin
 new(temp);
 temp.Data:=D;
 temp.Prev:=P0.Prev;
 temp.Next:=P0;
 
 P0.Prev:=temp;
 
 if temp.Prev<>nil then
  begin
   temp:=temp.Prev;
   Temp.Next:=P0.Prev;
  end;
end;
 
procedure DublOdd(var P1:PNode);
var
 p:PNode;
 a:^Word;
 len:integer;
begin
 if P1<>nil then
  begin
   len:=1;
   p := p1;
   a:=Addr(p);
   repeat
    if odd(len) then InsertBefore(p,p.Data);
    p := p^.next;
    inc(len);
   until (p = nil);
  end
  else Writeln('nil');
end;
 
var
 P1,P2:PNode;
 a:^Word;
 
begin
 CreateList(P1,P2);
 P2:=nil;
 
 DublOdd(P1);
 P1:=P1.Prev;
 a:=Addr(P1);
 Writeln('begin: ',a^);
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.05.2019, 21:54
Ответы с готовыми решениями:

Продублировать в списке все элементы с нечетными номерами
Дано указание Р1 на первый элемент непустого списка. Продублировать в списке все элементы с...

Продублировать в файле все элементы с нечётными номерами
Поможете решить эту задачу, пожалуйста? Буду благодарен. - Дан файл целых чисел. Продублируйте в...

Продублировать в файле все элементы с нечетными номерами.
Дан файл целых чисел. Продублировать в нем все элементы с нечетными номерами.

Продублировать в новом файле все элементы с нечетными номерами
С++ Дан файл целых чисел. Продублировать в новом файле все элементы с нечетными номерами.

0
29.05.2019, 21:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.05.2019, 21:54
Помогаю со студенческими работами здесь

Продублировать в списке все элементы с нечетными значениями
Здравствуйте, помогите пожалуйста решить! 6) Дан указатель P1 на первый элемент непустого...

Дан указатель P1 на первый элемент непустого двусвязного списка Продублировать в списке все элементы с нечетными значениями
Дан указатель P1 на первый элемент непустого двусвязного списка Продублировать в списке все...

Упорядочить по возрастанию все элементы массива с нечётными номерами, а все элементы с чётными номерами – по убыванию
Напишите программу, которая сортирует по возрастанию все элементы массива с нечётными номерами, а...

Двусвязный список. Продублировать все элементы с нечетными значениями
Дано показатель Р1 на первый элемент непустого двухзвьязного списка. Продублировать в списке все...

Продублировать в массиве все положительные элементы с четными номерами
7.21. Дан целочисленный массив размера Н. Продублировать в нем все положительные элементы с четными...

Перегруппировать элементы списка, переместив все элементы с нечетными номерами в конец
Дан указатель P1 на первый элемент непустого двусвязного списка. Перегруппировать его элементы,...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

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