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

Очередь. Вставить пару новых элементов перед последним

07.06.2013, 02:36. Показов 604. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Необходимо представить таблицу в виде линейного списка L, элементами которого являются строки таблицы.
Исходные данные должны сохраняться в файле, при повторном запуски считываться из него.
Так же, необходимо написать отдельну процедуру, которая вставляла в бы не в пустой список L елементы E1 и E2 перед его последним элементом. Вот тут вся беда.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
type data=record 
          n_poezda:string[5];
          stanz_otpr:string[15];
          stanz_nasn:string[15];
          vr_otpr:string[10];
          vr_pribyt:string[10];
          stoimost:string[10];
          end;
 
ukaz=^query; 
      query=record
            inf:data;
            next:ukaz;
            end;
 
var
 NewE, Left, Right, Temp: ukaz; {указатели: Left - начало, Right - конец}
 Z:data;
 f: file of data;
Сама процедура:
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
procedure zadan;
 var prev, pos, newE1, newE2: ukaz; {prev - предпоследний элемент,pos - последний элемент}
  begin
reset(f);
seek(f,filesize(f));
 writeln('Номер поезда: ');readln(z.n_poezda);
 writeln('Станция отправления');readln(z.stanz_otpr);
 writeln('Станция прибытия');readln(z.stanz_nasn);
 writeln('Врям отправления:');readln(z.vr_otpr);
 writeln('Время прибытия');readln(z.vr_pribyt);
 writeln('Стоимость');readln(z.stoimost);
 write(f,z);
 new(NewE2); 
  NewE2^.inf.n_poezda:=z.n_poezda;
  NewE2^.inf.stanz_otpr:=z.stanz_otpr;
  NewE2^.inf.stanz_nasn:=z.stanz_nasn;
  NewE2^.inf.vr_otpr:=z.vr_otpr;
  NewE2^.inf.vr_pribyt:=z.vr_pribyt;
  NewE2^.inf.stoimost:=z.stoimost;
  NewE2^.next:=Right;
 writeln('Номер поезда:');readln(z.n_poezda);
 writeln('Станция отправления:');readln(z.stanz_otpr);
 writeln('Станция прибытия:');readln(z.stanz_nasn);
 writeln('Время отправления');readln(z.vr_otpr);
 writeln('Время прибытия');readln(z.vr_pribyt);
 writeln('Стоимость');readln(z.stoimost);
 write(f,z);
 new(NewE1);
  NewE1^.inf.n_poezda:=z.n_poezda;
  NewE1^.inf.stanz_otpr:=z.stanz_otpr;
  NewE1^.inf.stanz_nasn:=z.stanz_nasn;
  NewE1^.inf.vr_otpr:=z.vr_otpr;
  NewE1^.inf.vr_pribyt:=z.vr_pribyt;
  NewE1^.inf.stoimost:=z.stoimost;
  NewE^.next:=newE2;
  
  pos^.next:=nil;
  right^.next:=pos;
  right:=pos;  
  prev:=left;
  while prev^.next^.next<>nil do
  prev:=prev^.next;
  prev^.next:=newE1;
   readln;
  end;
После того, как я ввожу данные об элемента E1 и Е2, программа выключается. Включаю еще раз, просматриваю очередь, элементы в самом конце.
Подскажите, пожалуйста, что не так?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.06.2013, 02:36
Ответы с готовыми решениями:

Перед элементом массива с номером K вставить M новых элементов с нулевыми значениями
Спасибо реальное, вы все очень помогаете, я по той же теме...Array 104: Дан массив размера N и два целых числа K и M (1 ≤ K ≤...

Вставить перед последним отрицательным элементом массива число, равное наибольшему из всех элементов.
1. Вставить перед последним отрицательным элементом массива число, равное наибольшему из всех элементов.

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

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.06.2013, 02:36
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
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