4 / 4 / 6
Регистрация: 25.01.2012
Сообщений: 35
1

Опишите и постройте через двумерный массив Sps линейный однонаправленный список из семи целых чисел и сделайте этот список пустым

16.12.2012, 19:24. Показов 1307. Ответов 1
Метки нет (Все метки)

Сама задача:
Опишите и постройте с помощью двумерного массива Sps линейный однонаправленный список из семи целых чисел и сделайте этот список пустым. После этого добавьте в список шесть элементов 1,3,5,7,9,11, затем найдите указатель на элемент 9 и удалите этот элемент. В конце работы со списком вставьте после элемента со значением 11 элемент со значением 13, предварительно отыскав указатель на элемент со значением 11, а элемент со значением 15 вставьте после элемента со значением 3. Результаты как промежуточных, так и конечных результатов отобразить на экране.

Заранее спасибо!
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.12.2012, 19:24
Ответы с готовыми решениями:

Опишите и постройте с помощью двумерного массива Sps линейный однонаправленный список
18. Опишите и постройте с помощью двумерного массива Sps линейный однонаправленный список из семи...

Опишите и постройте с помощью двумерного массива Sps линейный однонаправленный список
Опишите и постройте с помощью двумерного массива Sps линейный однонаправленный список из семи целых...

Опишите и постройте с помощью двумерного массива Sps линейный однонаправленный список
решите плз срочно очень: Опишите и постройте с помощью двумерного массива Sps линейный...

Создать линейный однонаправленный список из целых чисел
Создать линейный однонаправленный список из целых чисел. Удалить из списка первый четный элемент,...

1
4 / 4 / 6
Регистрация: 25.01.2012
Сообщений: 35
17.12.2012, 23:24  [ТС] 2
Лучший ответ Сообщение было отмечено dimak199 как решение

Решение

Переделал найденную в интернете задачу, хотелось бы услышать на сколько правильно она работает, заранее спасибо:
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
Type Spis=array[1..2,0..9] of integer;
Var Assm, Afe : integer;    { Assm указывает индекс/адрес первого элемента в списке свободных мест}
{ Afe – индекс (адрес) первого элемента в списке. }
El,i,pap,j:integer;
Sps:Spis;
Procedure Nspis(Var Sps:Spis); {процедура оформления пустого списка}
var i:integer;
Begin
  for i:=1 to 8 do
    Sps[2,i]:=i+1;
    Sps[2,9]:=0;
    Assm:=1;
    Afe:=0;
end;
Procedure Addsp(Var Sps:Spis); {процедура добавления элемента в список}
Var   Asmn:integer;
Begin
  Asmn:=Sps[2,Assm];
  Sps[1,Assm]:=el;
  Sps[2,Assm]:=Afe;
  Afe:=Assm;
  Assm:=Asmn
end;
Procedure DelSp(Pap,j:integer; Var Sps:Spis); {процедура удаления элемента из списка}
Begin
  Sps[2,Pap]:=Sps[2,j];
  Sps[2,j]:=Assm;
  Assm:=j
end;
Procedure UstSp(j:integer; Var Sps:Spis); {процедура вставки элемента в список}
Var  Asmn:integer;
Begin
  Asmn:=Sps[2,Assm];
  Sps[2,Assm]:=Sps[2,j];
  Sps[2,j]:=Assm;
  Sps[1,Assm]:=El;
  Assm:=Asmn;
end;
Procedure PoshSp(Var Sps:Spis; el:integer; Var Pap,j:integer); {процедура поиска указателя (адреса) на элемент списка}
Begin
  j:=Afe;
  Pap:=0;
  While (Sps[1,j]<>el) and (j<>0) do
    Begin
      Pap:=j;
      j:=Sps[2,j];
    end;
  if j=0 then Writeln('Элемент не найден')
end;
BEGIN {Основная программа}
  Nspis(Sps); {построение пустого списка}
  for i:=1 to 6 do
    begin
      readln(el);
       Addsp(Sps) {добавление элементов  в список по одному}
    end;
   writeln('promejutosnie rezultati');
  el:=9; {найденный указатель j,  pap – предыдущий указатель}
  PoshSp(Sps,el,pap,j); {поиск указателя на элемент со значением 9}
  Delsp(pap,j,sps); {удаление элемента с указателем j}
  writeln;
  for i:=1 to 6 do
  write(Sps[1,i],' ');
  el:=11;
  PoshSp(Sps,el,pap,j); {поиск указателя на элемент со значением 11}
  el:=13;
  Ustsp(j,Sps); {вставка элемента со значением 11 после элемента со значением 13}
  writeln;
  for i:=1 to 6 do
  write(Sps[1,i],' ');
  writeln;
  el:=3;
  PoshSp(Sps,el,pap,j); {поиск указателя на элемент со значением 3}
  el:=15;
  Ustsp(j,Sps); {вставка элемента со значением 15 после элемента со значением 3}
  writeln('konchiy rezultat');
  for i:=1 to 7 do
  write(Sps[1,i],' ');
END.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.12.2012, 23:24

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Создать линейный однонаправленный список из целых чисел
Создать линейный однонаправленный список из целых чисел. Определить среднее арифметическое значений...

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

Создать линейный однонаправленный список из целых чисел. Определить среднее арифметическое значений всех элементов
Создать линейный однонаправленный список из целых чисел. Опреде- лить среднее арифметическое...

Создать линейный однонаправленный список из вещественных чисел
1. Создать линейный однонаправленный список из вещественных чисел. Вставить в список первый...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.