Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 13.11.2018
Сообщений: 15
1

Создать очередь

27.11.2018, 12:49. Показов 954. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужно создать очередь из integer с вводом и выводом в файл
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.11.2018, 12:49
Ответы с готовыми решениями:

Создать очередь из элементов массива.
Напишите программу на Паскале: Заполнить массив 5х5 случайными числами. Создать очередь из...

Создать очередь из n чисел, вычислимые по формуле
Создать очередь из n чисел, вычисляемых по формуле: А=х²; n,х - вводить с клавиатуры. ...

Создать однонаправленную очередь целых чисел
Помогите написать программу на Паскале, не понимаю тему, поэтому и не могу сам сделать, уже...

Создать структуру данных очередь с заданным набором функции
Создать структуру данных очередь с заданным набором функции: -создать пустую очередь -проверить...

1
Эксперт Pascal/Delphi
6810 / 4567 / 4819
Регистрация: 05.06.2014
Сообщений: 22,438
27.11.2018, 18:40 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
80
81
82
program Ochered;
 
type
  Tinf = integer;{тип данных, который будет храниться в элементе очереди}
  List = ^TList;{Указатель на элемент типа TList}
  TList = record {А это наименование нашего типа "запись" обычно динамические структуры описываются через запись}
    data: TInf;  {данные, хранимые в элементе}
    next: List;   {указатель на следующий элемент}
  end;
 
{Процедура добавляющая элемент в очередь}
procedure AddElem(var stek1: List; znach1: TInf);
var
  tmp: List;
begin
  new(tmp); {выделяем в памяти место для нового элемента}
  tmp^.next := stek1;  {указатель на следующий элемент "направляем" на хвост очереди}
  tmp^.data := znach1; {добавляем к элементу данные}
  stek1 := tmp; {хвост очереди изменился, надо перенести и указатели на неё}
end;
 
{Процедура вывода очереди начиная с хвоста}
procedure Print(stek1: List);
begin
  if stek1 = nil then {проверка на пустоту очереди}
  begin
    writeln('Очередь пуста.');
    exit;
  end;
  while stek1 <> nil do {пока указатель stek1 не станет указывать в пустоту}
  begin{а это произойдёт как только он перейдёт по ссылке последнего элемента}
    Write(stek1^.data, ' '); {выводить данне}
    stek1 := stek1^.next{и переносить указатель в начало очереди}
  end;
end;
 
{Процедура освобождения памяти занятой очередью}
procedure FreeStek(stek1: List);
var
  tmp: List;
begin
  while stek1 <> nil do {пока stek1 не станет указывать в "пустоту" делать}
  begin
    tmp := stek1; {указатель tmp направим на хвост очереди}
    stek1 := stek1^.next; {хвост очереди перенесём на следующий за данным элементом элемент}
    Dispose(tmp); {освободим память занятую под удаляемый элемент}
  end;
end;
 
var
  Stk, {переменная, которая всегда будет указывать на "хвост" очереди}
  tmpl: List; {рабочая переменная}
  znach: Tinf; {данные вводимые пользователем}
  ch: char;{для работы с меню}
  i, n: integer;
  f: text;
 
begin
  Stk := nil;
  assign(f, 'data.txt');
  rewrite(f);
  n := 5;
  writeln('Ввод данных в файл: ');
  for i := 1 to n do
  begin
    write('Введите значение: ');
    readln(znach); {считываем значение добавляемого нового элемент}
    writeln(f, znach);
  end;
  close(f);
  reset(f);
  writeln('Ввод данных из файла и заполнение очереди: ');
  while not eof(f) do
  begin
    readln(f, znach); {считываем значение добавляемого нового элемент}
    AddElem(Stk, znach);
  end;
  close(f);
  
  Print(Stk); {вызов процедуры вывода}
  FreeStek(Stk); {освобождаем память занятую очередью}
end.
0
27.11.2018, 18:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.11.2018, 18:40
Помогаю со студенческими работами здесь

Создать в динамической памяти односвязный список типа «очередь» из случайных целых чисел
1. Создать в динамической памяти односвязный список типа «очередь» из случайных целых чисел ....

Создать и напечатать очередь
Создать и напечатать очередь Помогите пожалуйста

Как переделать очередь основанную на массиве в циклическую очередь
Как переделать очередь основанную на массиве в циклическую очередь? Тут кое-какие попытки. Беда с...

Создать очередь, информационными полями которой являются: наименование процессора, тактовая частота и количество ядер
Создать очередь, информационными полями которой являются: наимено- вание процессора и его тактовая...


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

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