![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
TOPEHTO |
![]()
Сообщение
#1
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 87 Пол: Мужской Репутация: ![]() ![]() ![]() |
Привет народ! тут вот такая задачка:
должна быть реализованная с помощью двунаправленного списка...пользователь вводит последовательность чисел("номер ребенка в круге") и число (размер считалочки) и начиная с того числа которое он ввел, по часововй стрелочки идет отсчет, то число, на котором останавливает счет-запоминается и удаляется из последовательности и счет продолжается... вообщем пример: если вводятся числа 1,2,3,4,5,6,7,8,9,10 и размер считалочки 4...то ответ должен быть таким: 4,8,2,7,3,10,9,1,6,5 если Я не ошибся... Ума не приложу как делать эту прогу, есть только процедура заполнения, но по словам препода она слишком простая... ![]() Если кто может, или тут была прогу-помогите ПЛИЗ... |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
|
TOPEHTO |
![]()
Сообщение
#3
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 87 Пол: Мужской Репутация: ![]() ![]() ![]() |
Окей, спасиБо огромное...
![]() ПРо казнь программу понял туго, да и разбиратсья в ней неохота+ считалочка мне подходит на 100% тока форму вывода надо поменять, чтобы в итоге выводил 1 строчку, или так оставить еще не решил... В чужих прогах разбираюсь плохо, да и в программировании слабоват, постараюсь конечно, но обещать не могу что получиться-но ПОПРОБУЮ... |
TOPEHTO |
![]()
Сообщение
#4
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 87 Пол: Мужской Репутация: ![]() ![]() ![]() |
Собрал все свои мозги в кучу...что-то не получается, даже 1% переделать...
А сразу со списками нет? просто знакомых программистов не имею, а вас просить не удобно... ![]() |
мисс_граффити |
![]()
Сообщение
#5
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
э... не поняла. ты нас НЕ просишь (раз неудобно)? или просишь?
в общем, FAQ по спискам читал? Создать список сможешь (пока без реализации алгоритма считалочки - просто создать)? -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
TOPEHTO |
![]()
Сообщение
#6
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 87 Пол: Мужской Репутация: ![]() ![]() ![]() |
мисс_граффити
Прошу конечно, просто неудобно у Вас время воровать своими детскими прогами... ![]() Процедуру создания списка писали на лекции, так что...наверное написать и отладить смогу...еще есть распечатка, но со слов парня, который её писал(он просто разбирается в программировании) это "Зеленая демо-бета версия" так что до ума её еще доводить и доводить... ![]() |
мисс_граффити |
![]()
Сообщение
#7
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
Ну вот
![]() З.Ы. "Детские" - это, судя по всему, 2 курс? -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
TOPEHTO |
![]()
Сообщение
#8
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 87 Пол: Мужской Репутация: ![]() ![]() ![]() |
АГА...
![]() ![]() по теме: вообщем создание списка постараюсь зава сделать... ![]() |
TOPEHTO |
![]()
Сообщение
#9
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 87 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата 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 degin new(p); p^.info=i; t^.link:=p; p^.link:=t; end; end; Самое основное вспомнил, что начали мы её реализовавыть через циклические списки...вот процедура создания списка...пока больше ничего придумать не могу...ПОМОГИТЕ плиз... ![]() Сообщение отредактировано: TOPEHTO - 19.11.2006 15:21 |
мисс_граффити |
![]()
Сообщение
#10
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
так циклические или двунаправленные? или циклические двунаправленные?
насколько я вижу, zap=record содержит только 1 указатель... на циклических двунаправленный алгоритм вроде как будет намного проще, чем на массивах. Сообщение отредактировано: мисс_граффити - 19.11.2006 18:10 -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
TOPEHTO |
![]()
Сообщение
#11
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 87 Пол: Мужской Репутация: ![]() ![]() ![]() |
Вообщем мне нуна:
или всю прогу на двунаправленных списках... или всю на циклических... 3-го не дано... ![]() ![]() |
TOPEHTO |
![]()
Сообщение
#12
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 87 Пол: Мужской Репутация: ![]() ![]() ![]() |
Ну товарищи помогите плиз...почитал в FAQ начал творить потихоньку, но мозга не хватает...до следущего понедельника надо помочь...
![]() |
мисс_граффити |
![]()
Сообщение
#13
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
Что не получается? Спрашивай конкретно.
Через циклические двусвязные проще всего. Вопрос такой: куда выводить инфу? Просто печатать номера, или сохранять в список? -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
TOPEHTO |
![]()
Сообщение
#14
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 87 Пол: Мужской Репутация: ![]() ![]() ![]() |
Зава скину то что получилось, щас флехи нет рядом...
а вывод нужен 2-х типов...первый после того как ввел, т.е.информационная часть(номер дитя)...второй вот порядок их выбывания, т.е. примерно мона и такой вывод как в задачке с массивами, который выложил volvo, но луче сразу выводить число которое выбыло и все... Выложить-Я то выложу, что сумел сотворить, но...на этом весь мой мозг закончится ![]() ![]() ![]() помогите уж тода процами какими... Совсем забыл: должно быть сделано меню, 1-Ввод данных(ну там кол-во детей, номер каждого впринципе мона и авто заполнение, если мона сделать, и сама считалочка) 2-Вывод того что тока что заполнил 3-Вывод после считалочки Если кто чем может помогите плиз... ![]() |
мисс_граффити |
![]()
Сообщение
#15
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
что тебе нужно сделать для начала:
1. Обеспечить нормальный ввод (это ты вроде как разобрался более-менее. Домучивай) 2. Научиться "ходить" по списку, чтобы найти исключаемый элемент. Это делается в цикле. Умеешь? 3. Научиться удалять элемент из списка. Это делается при помощи перестановки указателей. Менюшку и все такое можно сделать потом... пока что нужно создать основу. -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
TOPEHTO |
![]()
Сообщение
#16
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 87 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата Обеспечить нормальный ввод (это ты вроде как разобрался более-менее. Домучивай) Дотворил откомпилировал-выложу на Ваш суд, чтобы глянули как оно... ![]() Цитата Научиться "ходить" по списку, чтобы найти исключаемый элемент. Это делается в цикле. Умеешь? ВОт с этим Вам придется мне помочь... ![]() Цитата Научиться удалять элемент из списка. Это делается при помощи перестановки указателей. Помойму Я что-то такое написал, но оно для линейных списков...ну тоже выложу... Прога будет печером, поехал в универ за флехой, надеюсь на вашу помощь... ![]() |
TOPEHTO |
![]()
Сообщение
#17
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 87 Пол: Мужской Репутация: ![]() ![]() ![]() |
Код 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{Ћ‘ЌЋ‚ЌЂџ ЏђЋѓђЂЊЊЂ} Воть...собсна, вроде компилируется, сильно не судите, т.к. в программирование слабоват... ![]() Плиз помоги с выводом данных и самой работой проги... ![]() |
мисс_граффити |
![]()
Сообщение
#18
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
вообще "хождение" имеет вид примерно такой:
for i:=1 to step-1 do {делаем заданное количество шагов.} поскольку список циклический, можно не волноваться, что p^.link=nil а вот проверить, чтобы изначально список был не пустой - имеет смысл. для упрощения алгоритма (если мы работаем с односвязными списками, то есть перейти на предыдущий элемент нет возможности) можно делать на шаг меньше и останавливаться на элементе, предшествующем удаляемому. Это упростит удаление... А вывод примет вид: writeln((p^.link)^.info) Сообщение отредактировано: мисс_граффити - 21.11.2006 19:11 -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
TOPEHTO |
![]()
Сообщение
#19
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 87 Пол: Мужской Репутация: ![]() ![]() ![]() |
СпасиБо...вы мне ТТТТТТТТТТААААААААААКККККККККК помогли...
![]() |
Гость |
![]()
Сообщение
#20
|
Гость ![]() |
ну никак не получается эта прога...хоть убейте...
вот заполняет, выводит, осталось само выбывание... Народ, помогите плиз... Код 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 процедуру только сделать... ![]() ![]() ![]() |
![]() ![]() |
![]() |
Текстовая версия | 8.08.2025 4:04 |