Детская считалочка, двунаправленные списки |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Детская считалочка, двунаправленные списки |
TOPEHTO |
Сообщение
#1
|
Пионер Группа: Пользователи Сообщений: 87 Пол: Мужской Репутация: 0 |
Привет народ! тут вот такая задачка:
должна быть реализованная с помощью двунаправленного списка...пользователь вводит последовательность чисел("номер ребенка в круге") и число (размер считалочки) и начиная с того числа которое он ввел, по часововй стрелочки идет отсчет, то число, на котором останавливает счет-запоминается и удаляется из последовательности и счет продолжается... вообщем пример: если вводятся числа 1,2,3,4,5,6,7,8,9,10 и размер считалочки 4...то ответ должен быть таким: 4,8,2,7,3,10,9,1,6,5 если Я не ошибся... Ума не приложу как делать эту прогу, есть только процедура заполнения, но по словам препода она слишком простая... ... Если кто может, или тут была прогу-помогите ПЛИЗ... |
Гость |
Сообщение
#2
|
Гость |
ну никак не получается эта прога...хоть убейте...
вот заполняет, выводит, осталось само выбывание... Народ, помогите плиз... Код uses crt; type lob=^zap; zap= record info:integer; link:lob end; var p,t:lob; n,k,i:integer; procedure ZAPOL(n:integer; var t:lob); var i:integer; p,z:lob; begin t^.info:=1; t^.link:=t; for i:=n downto 2 do begin new(p); z:=t^.link; p^.link:=z; t^.link:=p; p^.info:=i; end; end; procedure Print(r:lob); var i:integer; begin r:=p; while p<>r^.link do begin writeln ('Ќ®¬Ґа = ' ,r^.info); r:=r^.link; end; writeln('Ќ®¬Ґа = ', r^.info); end; procedure DEL(var p:lob); var r:lob; begin r:=p^.link; p^.link:=p^.link^.link; dispose®; r^.link:=nil end; {procedure ydal (var t:lob; d:integer); var i:integer;p:lob; begin } function menu:integer; var k:integer; begin writeln; writeln; writeln('1-‡ Ї®«Ёвм бЇЁб®Є'); writeln('2-ђ бЇҐз в вм бЇЁб®Є'); writeln('3-ђ бЇҐз в вм Ї®а冷Є ўлЎлў Ёп н«Ґ¬Ґв®ў'); writeln('0-‚л室 Ё§ Їа®Ја ¬¬л'); writeln('‚ и ўлЎ®а'); readln(k); menu:=k; end; begin{Ћб®ў п Їа®Ја ¬¬ } clrscr; k:=1; writeln('Џа®Ја ¬¬ ,Ї®Є §лў ой п Ї®а冷Є ўлЎлў Ёп ¤ҐвҐ© Ё§ ЈагЇЇл ЇаЁ § ¤ ®¬ Є®«ЁзҐб⢥ б«®ў ў бзЁв «®зЄҐ '); {writeln('‚ў®¤ЁвҐ а §¬Ґа бзЁв «®зЄЁ'); readln(k);} while k<>0 do begin k:=menu; Case k of 1:begin writeln('‚ўҐ¤ЁвҐ Є®«ЁзҐбвў® ¤ҐвҐ©'); readln(n); zapol(n,t); end; 2:print(t); {3:} 0:begin writeln('Љ®Ґж а Ў®вл Їа®Ја ¬¬л'); readln; end; end; end end. осталось 3 процедуру только сделать... ... |
Текстовая версия | 20.04.2024 13:55 |