![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
setare |
![]()
Сообщение
#1
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 152 Пол: Женский Репутация: ![]() ![]() ![]() |
Здравствуйте! Не могли бы вы сказать как можно изменить строчку
newtail:=(Q.tail mod MaxN) + 1; в программе очереди с помощью массива? Пожалуйста, подскажите. В faqe у вас только очередь в дин памяти. Мне нужно, чтобы очередь заполнялась полностью, а не оставляла одно звено. Программа по работе с очередями-добавление и удаление. Сама программа: Код program ochered_mas; const MaxN=100; type Telem=integer; Telements=array[1..MaxN]of Telem; TQueue=record Elements:Telements; Head:integer; Tail:integer end; procedure InitQueue(var Q:TQueue); begin Q.Head:=1; Q.tail:=1; end; procedure PushQ(var Q:Tqueue;E:Telem;var c:boolean); var newtail:integer; begin newtail:=(Q.tail mod MaxN) + 1; with Q do if newtail<>head then begin tail:=newtail; elements[tail]:=E; c:=true; end else c:=false; end; procedure popQ(var Q:tQueue;E:Telem;var c:boolean); begin if (Q.head<>Q.tail) then begin with Q do begin E:=Elements[head]; head:=(Head mod MaxN)+1; end; end; end; var Q:Tqueue; number:integer; E:telem; c:boolean; begin InitQueue(Q); repeat writeln('1:Push'); writeln('2:Pop'); writeln('3:Exit'); writeln('Vvedite luboy nomer.'); readln(number); case number of 1: begin writeln('Vvedite chislo dlya dobavleniya.'); readln(E); pushQ(Q,E,c); end; 2: begin writeln('Vvedite chislo dlya izvlecheniya.'); readln(E); PopQ(Q,E,c); writeln('izvlechonnoye chislo= ',E); end; end; if (Q.head=Q.tail) then writeln('Ochered pusta'); until number=3 end. -------------------- Ты спрашиваешь, как я переношу длинные бессонные ночи?Как свеча: как только настает утро, я гасну, тем самым, имея возможность заново загореться.
Нима |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 2:24 |