Детская считалочка, двунаправленные списки |
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 если Я не ошибся... Ума не приложу как делать эту прогу, есть только процедура заполнения, но по словам препода она слишком простая... ... Если кто может, или тут была прогу-помогите ПЛИЗ... |
TOPEHTO |
Сообщение
#2
|
Пионер Группа: Пользователи Сообщений: 87 Пол: Мужской Репутация: 0 |
Код type lob=^zap; zap= record info:integer; link:lob end; var p,t:lob; n,k:integer; procedure ZAPOL(n:integer; var t:lob); var i:integer; begin t^.info:=1; t^.link:=t; for i:=2 to n do begin new(p); p^.info:=i; t^.link:=p; p^.link:=t; end; end; {procedure print(var t:lob; k:integer); var i:integer; begin if (p^.link<>p) then begin I:=i+k; t:=p^.link; p^.link:=p^.link^.link; dispose(t); end; end;} procedure Print(p:lob); var r:lob; begin r:=p; while r<>nil do begin writeln ('Ќ®¬Ґа = ' ,r^.info); r:=r^.link; end; end; procedure DEL(var p:lob); var r:lob; begin r:=p^.link; p^.link:=p^.link^.link; r^.link:=nil end; 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(n); writeln('‡ Ї®«ЁвҐ ¬ ббЁў, ўўҐ¤ЁвҐ ' , n ,' н«Ґ¬Ґв®ў ¬ ббЁў '); for i:=1 to n do read(a[i]); while k<>0 do begin k:=menu; Case k of 1:Sort1(b,n,m); 2:Sort2(b,n,m); 3:Sort3(b,n,m); 0: writeln('Љ®Ґж а Ў®вл Їа®Ја ¬¬л'); end; BblBOD(b,n,m); end end. begin{Ћ‘ЌЋ‚ЌЂџ ЏђЋѓђЂЊЊЂ} Воть...собсна, вроде компилируется, сильно не судите, т.к. в программирование слабоват... ... Плиз помоги с выводом данных и самой работой проги... ... |
Текстовая версия | 20.04.2024 16:02 |