![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Гость_Boris |
![]()
Сообщение
#1
|
Гость ![]() |
Как видно из задания, задача будет идти о очередях.
Если кто забыл - напоминаю: основное правило очереди - первым вошёл - первым вышел! Итак. Пусть дан одномерный массив (он задаёт количество элементов). Задача заключается в следующем: с помощью функций put и get реализовать распечатку текста на экране. .Например: get(1) get(2) writeln(get) writeln(get) Причём если следующая команда get будет превышать массив, то число будет !!!!!записываться в конец очереди (другой вариант - в начало)!!!!!!!!!!!! пример: put(1) put(2) put(3) get get get ; здесь массив состоит из 2-х элементов и происходит переполнение ... ВАЖНО: функции имеют слежующий вид: function put(i:integer):boolean; (возвращает false если очередь пуста(по-моему - а может когда переполнение??) и true, если переполнения нет) function get:integer; Вот и всё: ПОМОГИТЕ бедному студенту.! P.S: Вот я написал, но при переполнении не то, совсем не то: Код uses crt; const m=10; var n:array[0..m] of integer; i,j: integer; procedure Init; begin for i:=1 to m do n[i]:=0; n[0]:=1; end; function put(a:integer):boolean; begin put:=false; if n[0]<=m then begin n[n[0]]:=a; n[0]:=n[0]+1; put:=true; end; end; function get: integer; begin if n[0]>1 then begin get:=n[1]; n[0]:=n[0]-1; for i:=1 to m-1 do n[i]:=n[i+1]; end; end; begin init; clrscr; writeln; put(1); put(2); put(3); writeln(get); writeln(get); put(4); writeln(get); writeln(get); readln; end. |
![]() ![]() |
![]() |
Текстовая версия | 20.06.2025 7:40 |