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

Вставить в непустой список L пару новых элементов E1 и E2 перед его последним элементом

31.05.2017, 21:10. Показов 1558. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вставить в непустой список L пару новых элементов E1 и E2 перед его последним элементом.Вот программа,не знаю как вставить элементы,со списками очень туго у меня
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
Program lab25; 
uses crt; 
type Tinf=integer; 
  List=^TList; 
  TList=record   
  data:TInf; 
  next:List; 
  end; 
var 
L, q , pbegin: list; 
i:integer;
 
procedure AddElem(var spis1:List;znach1:TInf); 
var 
 t : List; 
begin 
new(t); 
t^.data := znach1; 
while spis1^.next <> nil do spis1:= spis1^.next; 
spis1^.next:=t;
t^.next := nil; 
spis1 := t; 
 end; 
begin 
new(l);
l^.next:=nil;
pbegin:=l;
l^.data:=1; 
for i:=2 to 8 do addelem(l, i); 
q := pbegin; 
while q <> nil do 
begin 
write(q^.data:4); 
q := q^.next; 
end; 
writeln; 
readln; 
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.05.2017, 21:10
Ответы с готовыми решениями:

Описать процедуру, которая вставляет в непустой список L пару новых элементов Е1 и Е2 перед его последним элементом
Описать процедуру, которая вставляет в непустой список L пару новых элементов Е1 и Е2 перед его...

Процедура, которая вставляет в непустой список L пару новых элементов E1 и E2 перед его последним элементом
Здравствуйте! Подскажите пожалуйста что не так с процедурой последней, программа работает, данные...

Вставить пару новых элементов перед последним элементом списка
Вставить пару новых элементов перед последним элементом списка......кто может помогите !

Линейный список - вставить пару новых элементов перед последним
#include &lt;conio.h&gt; #include &lt;iostream.h&gt; #include &lt;fstream.h&gt; #include &lt;stdlib.h&gt; #include...

1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32830 / 21168 / 8147
Регистрация: 22.10.2011
Сообщений: 36,429
Записей в блоге: 8
03.06.2017, 12:33 2
Раз никто не отвечает - оставлю это здесь:
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
program lab25;
// uses crt; 
type
  Tinf = integer;
  List = ^TList;
  TList = record   
    data: TInf; 
    next: List; 
  end;
 
function Item(data: Tinf; next: List): List;
var
  t: List;
begin
  new(t);
  t^.data := data;
  t^.next := next;
  Item := t;
end;
 
procedure AddBeforeLast(var start: List; znach1: Tinf);
var
  t, p: List;
begin
  t := Item(znach1, nil);
 
  // рассматриваем три случая
  if start = nil then // 1) список пуст - самое простое: запомним новый элемент, как начало списка
  begin
    start := t;
  end else
  begin
    p := start;
    while (p^.next <> nil) and (p^.next^.next <> nil) do p := p^.next;
    if p^.next = nil then // 2) в списке один элемент - значит, надо поменять указатель на начало списка 
    begin
      t^.next := p;
      start := t
    end else // 3) в списке больше одного элемента - тут просто пошаманим с указателями, чтобы новый элемент добавился перед последним
    begin
      t^.next := p^.next;
      p^.next := t;
    end;
  end
  
end;
 
procedure AddElem(var start: List; znach1: TInf); // эта процедура всегда добавляет элемент к хвосту списка
var
  t, p: List;
begin
  t := Item(znach1, nil);
  if start = nil then start := t else 
  begin
    p := start;
    while p^.next <> nil do p := p^.next;
    p^.next := t;
  end;
end;
 
var
  q, pbegin: list; 
  i: integer;
 
begin
  pbegin := nil;
  for i := 1 to 8 do addelem(pbegin, i); // 1 2 3 4 5 6 7 8
  AddBeforeLast(pbegin, 20); // 1 2 3 4 5 6 7 20 8
  AddBeforeLast(pbegin, 22); // 1 2 3 4 5 6 7 20 22 8
  q := pbegin; 
  while q <> nil do 
  begin
    write(q^.data:4); 
    q := q^.next; 
  end; 
  writeln;
  // не забываем удалять выделенную ранее память
  readln; 
end.
1
03.06.2017, 12:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.06.2017, 12:33
Помогаю со студенческими работами здесь

Написать процедуру, которая вставляет в непустой список L новый элемент E перед его последним элементом
Помогите пожалуйста

Написать программу, которая вставляет в список L пару новых элементов F1 и F2 перед последним элементов
Создайте файл символов. Разместить элементы файла в динамической памяти. Написать программу,...

Найти среднее арифметическое отрицательных элементов списка и вставить его в список перед первым отрицательным элементом
Помогите,пожалуйста, написать программу Ввести неопределенное количество вещественных чисел и...

Перед элементом массива с номером K вставить M новых элементов с нулевыми значениями
Дан массив размера N и два целых числа K и M (1 ≤ K ≤ N, 1 ≤ M ≤ 10). Перед элементом массива с...


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

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

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