Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
20 / 19 / 4
Регистрация: 22.03.2018
Сообщений: 701

Очереди

06.12.2018, 23:52. Показов 3200. Ответов 0
Метки нет (Все метки)

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

Добавлено через 1 час 22 минуты
Можно спросить я реализовал код он вообще верно работает или как ?
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
type
  Tinf = string;{тип данных, который будет храниться в элементе очереди}
  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; {данные вводимые пользователем}
  k: integer;
  f: text;
 
begin
  Stk := nil;
  assign(f, 'data.txt');
  reset(f);
  k := 0;
  while not eof(f) do 
  begin
    readln(f, znach); {считываем значение добавляемого нового элемент}
    if znach[1] = UpCase(znach[1]) then
    begin
      AddElem(Stk, znach);
      inc(k);
    end;
  end;
  close(f);
  Print(Stk); {вызов процедуры вывода}
  FreeStek(Stk); {освобождаем память занятую очередью}
  writeln(k);
end.
Добавлено через 1 час 36 минут
Сделал сам https://yadi.sk/d/qEgbpRMu5iae-A )
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.12.2018, 23:52
Ответы с готовыми решениями:

Переместить все элементы первой очереди в конец второй очереди
Даны две очереди; адреса начала и конца первой равны P1 и P2, а второй — P3 и P4 (если очередь является пустой, то соответствующие адреса...

Из очереди L создайте две новые очереди
1. Условие: type Link = ^Node; Node = record X : integer; Next: Link; end; var L:...

Сортировка очереди
Всем привет. Есть задание: В справочной автовокзала хранится расписание движения автобусов. Для каждого рейса указаны: номер рейса, пункт...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.12.2018, 23:52
Помогаю со студенческими работами здесь

В стек по очереди записываются цифры 2006
В стек по очереди записываются цифры 2006. Составить программу в результате работы которой цифры печатаются в той же последовательности....

Написать процедуру перестановки элементов очереди
Как написать процедуру такой перестановки элементов очереди: х(1), х(2),..., х(n)⇒x(2),x(3),…,x(n),х(1)?

Проверить, являются ли одинаковыми две очереди
Помогите пожалуйста с задачей. Проверить, являются ли одинаковыми две очереди М1 и М2, реализованных посредством кольцевых массивов.

Написать процедуру удаления максимального элемента очереди
Написать процедуру удаления максимального элемента очереди лабораторная помогите

Массивы: определить время пребывания i-го покупателя в очереди
У прилавка магазина выстроилась очередь из n покупателей. Время обслуживания i-го покупателя равно t(i) (i=1, .... , n). Определить время...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru