1 / 1 / 1
Регистрация: 10.12.2011
Сообщений: 25
1

Динамические структуры данных. Списки

25.11.2013, 23:58. Показов 1859. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
С клавиатуры вводится последовательность символов. Построить из них список. Вывести символы списка в обратном порядке. Добавить после каждого символа “А” символ “#”. Вывести на экран полученный список.

Выручайте, ничего не получается написать

Добавлено через 4 часа 57 минут
апну
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.11.2013, 23:58
Ответы с готовыми решениями:

Динамические структуры данных: списки
Искал манул, не нашел путного ничего... Суть задачи такова "Написать процедуру, которая вставляет...

Динамические структуры данных. Линейные списки
1. Сформировать список из N целочисленных случайных элементов (N – вводится ...

Динамические структуры данных. Простые списки
Помогите решить: "Составить список, состоящий из кодов псевдографических символов. Выделить в...

Динамические структуры данных. Списки. Слово-перевертыш
Динамические структуры данных. Списки: В деке задать слово. Определить, является ли оно...

1
228 / 225 / 220
Регистрация: 03.07.2012
Сообщений: 466
26.11.2013, 07:27 2
Лучший ответ Сообщение было отмечено Millet как решение

Решение

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
uses
  crt;
type
  PNode = ^TNode;
  TNode = record
  Symb : Char;
  Next : PNode;
  end;
  TList = record
  First, Last : PNode
  end;
//инициация списка  
procedure InitList(var aList : TList);
begin
  aList.First := nil; aList.Last := nil;
end;  
//процедура добавляет символ в список
procedure AddList(var aList : TList; C : Char);
var PElem : PNode;
begin
  New(PElem); 
  PElem^.Symb := C;  
  if aList.First = nil then begin
     aList.First := PElem;
     aList.Last := aList.First;
  end else begin
     aList.Last^.Next := PElem;
     aList.Last := PElem;    
  end;  
  aList.Last^.Next := nil;  
end;  
//выводит список
procedure PrintList(aList : TList);
begin
  if aList.First = nil then begin
    writeln('Список пуст.');
    exit;
  end;
  while aList.First<>nil do begin
    write(aList.First^.Symb:4);
    aList.First := aList.First^.Next;
  end;
  writeln;
end;
//выводит список в обратном порядке
procedure RevPrintList(aList : TList);
var PElem : PNode;
begin
  while aList.Last <> aList.First do begin
  PElem := aList.First;
  while PElem^.Next <> aList.Last do PElem := PElem^.Next;
  write(aList.Last^.Symb:4);
  aList.Last := PElem;
  end;
  writeln(aList.First^.Symb:4);
end;
//вставляет символ в список после заданного адреса
procedure InsElemList(var aList : TList; aPElem : PNode; c : char);
var aPElem1 : PNode;
begin
  New(aPElem1);
  aPElem1^.Symb := C;
  if aList.Last = aPElem then begin
    aList.Last^.Next := aPElem1;
    aList.Last := aPElem1;
    aList.Last^.Next := nil;
  end else begin
    aPElem1^.Next := aPElem^.Next;
    aPElem^.Next := aPElem1;
  end;
end;
var 
  List : TList;
  c : char;
  PElem : PNode;
begin
  clrscr;
  InitList(List);
  repeat
    write('Введите символ : ');
    readln(c);
    AddList(List,c);
    write('Повторить ввод : да - "Enter"; нет - "н"/"n" ');
    c := readkey;
    GotoXY(1,WhereY);
    Clreol;
  until (c='n') or (c='н');
  writeln('Исходный список : ');
  PrintList(List);
  writeln('Список в обратном порядке : ');
  RevPrintList(List);
  PElem := List.First;
  while PElem <> nil do begin
    If (PElem^.Symb = 'A') or (PElem^.Symb = 'А') then 
      InsElemList(List,PElem,'#');
    PElem := PElem^.Next;
  end;
  writeln('После каждого символа "А" символ "#" : ');
  PrintList(List);
  readln;
end.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.11.2013, 07:27
Помогаю со студенческими работами здесь

Базовые динамические структуры данных. Связные списки
Условие: Циклический односвязный список с барьером (фиктивным элементом). Порядок :FIFO (очередь)...

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

Динамические структуры данных. Организация данных в списковые структуры
Написать программу вставки нового элемента в список за некоторым заданным по- рядковым номером...

Динамические структуры данных
Добрый день! Помогите пожалуйста с решением данной задачи: Задание: Создать объект -...


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

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

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