Двунаправленный список |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Двунаправленный список |
..::Даша::.. |
14.05.2008 17:34
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 15 Пол: Женский Реальное имя: Даша Репутация: 0 |
Привет!
Поняв предидущую ошыбочку я переделала темку на: Задание на Pascal-е: ------------------------------------------------------------------------------------------ "Нужно создать двунаправленный список. Информационую часть заполнить с помощю random. Создать процедуру которая будет добавлять 1 елемент после елемента первое поле которого >0. Информационие поля типу - real+real. Количество елементов в списку - 5" ------------------------------------------------------------------------------------------- мне тут помогли мемножно но... не до конца (
//я очень рада что на форуме есть девочки и на деюсь и на их помощь :-) И кстати зайдите в мой фото альбом... Добавлено через 2 мин. ------------------------------------------------------ Да, может кто-то имеет панятнинькую инфу? Шлите, буду рада :-) ------------------------------------------------------ -------------------- // Дарья - сильная, побеждающая.
|
Айра |
14.05.2008 17:58
Сообщение
#2
|
Профи Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: 25 |
Тебе уже давали эту процедуру:
Procedure Add_tuda_posle (first: sp; k: integer); {добавление после к-того элемента} Попробуй переделать под свое условие.. кстати, эти вопросы остаются в силе: Цитата 2) добавить надо после всех элементов удовлетворяющему условие или после первого/последнего? 3) что надо добавить?(какой элемент) |
..::Даша::.. |
14.05.2008 18:28
Сообщение
#3
|
Новичок Группа: Пользователи Сообщений: 15 Пол: Женский Реальное имя: Даша Репутация: 0 |
нужно добавить елемент (любое число), после елемента первое поле которого больше 0.
ну я думаю усё виглядит тк: ______ 7 | 8 -1 | 4 <-- от такой наверно двунаправлений список (если не ошыбаюсь, я так думаю...) -6 | 2 0 | 12 и знач 7 больше нуль то нужно после 8 добавить елемент тоесть от такое должно получится примерно: 7 | 8 -1 | 9 --наш новые елемент -6 | 4 0 | 2 | 12 мне обяснили что список вроде растёт такое ошущение.... от-так-вот...))) Сообщение отредактировано: ..::Даша::.. - 14.05.2008 18:30 -------------------- // Дарья - сильная, побеждающая.
|
..::Даша::.. |
14.05.2008 19:05
Сообщение
#4
|
Новичок Группа: Пользователи Сообщений: 15 Пол: Женский Реальное имя: Даша Репутация: 0 |
я почти разобралася ...
а у тебя нет класной книги? по пакалю.? -------------------- // Дарья - сильная, побеждающая.
|
Айра |
14.05.2008 19:06
Сообщение
#5
|
Профи Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: 25 |
Элемент списка - это не одно число.. В твоем случае один элемент списка - это совокупность двух чисел и двух указателей.. Поэтому должно быть так:
7 | -5 <- первое поле больше нуля, значит добавляем после этого элемента новый -1 | 4 -6 | 2 0 | 12 и получится 7 | -5 14 | 13 <-новый элемент.. со своими двумя числами и указателями.. -1 | 4 -6 | 2 0 | 12 добавлено: Тут тема была "поиск книг".. посмотри, может там что найдешь.. у меня нет ничего в электронном варианте.. Сообщение отредактировано: Айра - 14.05.2008 19:07 |
..::Даша::.. |
14.05.2008 19:06
Сообщение
#6
|
Новичок Группа: Пользователи Сообщений: 15 Пол: Женский Реальное имя: Даша Репутация: 0 |
но если у тебя есть совет
на щёт того что я на писала то я жду... :-) Добавлено через 1 мин. а то есть он тока так может "рости"? Добавлено через 2 мин. ----------------------------------- но подожди яже начебно разпределила в памяти два поля? inf1 inf2 -------------------- // Дарья - сильная, побеждающая.
|
Айра |
14.05.2008 19:11
Сообщение
#7
|
Профи Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: 25 |
в смысле будет увеличиваться количество элементов? да. ..если, конечно, найдется хоть один, с первым полем > 0 ))
|
..::Даша::.. |
14.05.2008 19:11
Сообщение
#8
|
Новичок Группа: Пользователи Сообщений: 15 Пол: Женский Реальное имя: Даша Репутация: 0 |
-----------------------------------
и что получается я не могу в поле inf1 добавить толька один елемент а поле inf2 незатрагивать... -------------------- // Дарья - сильная, побеждающая.
|
Айра |
14.05.2008 19:13
Сообщение
#9
|
Профи Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: 25 |
Цитата но подожди яже начебно разпределила в памяти два поля? inf1 inf2 И что тебя смущает? |
..::Даша::.. |
14.05.2008 19:15
Сообщение
#10
|
Новичок Группа: Пользователи Сообщений: 15 Пол: Женский Реальное имя: Даша Репутация: 0 |
то да мне так сказали что
пример: 1__|___4 -5_|___10 6__|___2 то будет 1__|___4 -5_|___x <--new element 6__|___10 ___|___2 ___|___x <--- new element ========================== Добавлено через 1 мин. и ето называется двунаправленый список. или же то что ты предложыла на самом дели есть двунапр. список? -------------------- // Дарья - сильная, побеждающая.
|
Айра |
14.05.2008 19:17
Сообщение
#11
|
Профи Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: 25 |
А что тебе мешает сделать так
list^.inf1:=random(10); Тебе же надо полностью создать новый элемент, значит и его оба поля inf заполняешь.. Добавлено через 4 мин. Даша, здесь дело не в количестве полей inf, как в массиве, а в указателях. В однонаправленном списке у тебя есть указатель только на следующий элемент.. и двигаться ты поэтому можешь только в одном направлении.. А в двунаправленном каждый элемент содержит указатели на следующий и предыдущий элементы.. значит от какого-то n-го элемента можно идти как к последнему элементу, так и к первому.. поэтому список и называется двунаправленным |
..::Даша::.. |
14.05.2008 19:22
Сообщение
#12
|
Новичок Группа: Пользователи Сообщений: 15 Пол: Женский Реальное имя: Даша Репутация: 0 |
Айрочка, вопросик:
а как бы ты поступила если тебе дали такое задание? Добавлено через 2 мин. ------------------------------------ то есть тот кусочек кодика и есть решение моей проблемки? -------------------- // Дарья - сильная, побеждающая.
|
Айра |
14.05.2008 19:32
Сообщение
#13
|
Профи Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: 25 |
так как описала выше (если ты насчет того, куда добавлять элемент).. только я не очень поняла, сколько же полей inf должно быть в элементе.. 1 или 2.. real+real - это означает, что 2? но, в принципе, это не самое главное.. задание то скорее на работу с указателями.. чем на количество полей в элементе..
|
..::Даша::.. |
14.05.2008 19:34
Сообщение
#14
|
Новичок Группа: Пользователи Сообщений: 15 Пол: Женский Реальное имя: Даша Репутация: 0 |
-------------------------------------------
я вижу "compiler" читает тему :-) може ты поможеш? а... -------------------- // Дарья - сильная, побеждающая.
|
Айра |
14.05.2008 19:44
Сообщение
#15
|
Профи Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: 25 |
Цитата то есть тот кусочек кодика и есть решение моей проблемки? Не совсем.. тебе нужно его немного переделать.. чтобы он добавлял элемент имеено тогда, когда тебе нужно. Главное в нем это: допустим тебе нужно воткнуть элемент между 1-м и 2-м New (x); <-создали ссылку на добавляемый элемент Даш, тебе вообще понятно, что из себя представляет список? |
..::Даша::.. |
14.05.2008 19:52
Сообщение
#16
|
Новичок Группа: Пользователи Сообщений: 15 Пол: Женский Реальное имя: Даша Репутация: 0 |
ну не совсем?
може коротко обясниш? -------------------- // Дарья - сильная, побеждающая.
|
Michael_Rybak |
14.05.2008 19:52
Сообщение
#17
|
Michael_Rybak Группа: Модераторы Сообщений: 1 046 Пол: Мужской Реальное имя: Michael_Rybak Репутация: 32 |
Цитата я вижу "compiler" читает тему :-) може ты поможеш? а... да, может, вообще все мы тебе дружно понапомогаем, а ты выберешь, кто помог лучше всех? Сообщение отредактировано: Michael_Rybak - 14.05.2008 19:52 |
..::Даша::.. |
14.05.2008 19:57
Сообщение
#18
|
Новичок Группа: Пользователи Сообщений: 15 Пол: Женский Реальное имя: Даша Репутация: 0 |
я очень благодарна за помощь
и никого не хочу обидеть...((( мне просто нужна помощь...я же не профм(((( -------------------- // Дарья - сильная, побеждающая.
|
compiler |
14.05.2008 19:57
Сообщение
#19
|
Человек Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: 3 |
Цитата я вижу "compiler" читает тему :-) спасибо, мне хватило прошлого топика.. давненько уже не возникали такие конфликты..може ты поможеш? а... upd скажи спасибо лучше Айре, мне б столько терпения не хватило... Сообщение отредактировано: compiler - 14.05.2008 20:00 -------------------- Спасибо!
Удачи! |
..::Даша::.. |
14.05.2008 20:03
Сообщение
#20
|
Новичок Группа: Пользователи Сообщений: 15 Пол: Женский Реальное имя: Даша Репутация: 0 |
.?update
Сообщение отредактировано: ..::Даша::.. - 14.05.2008 20:11 -------------------- // Дарья - сильная, побеждающая.
|
Текстовая версия | 27.04.2024 23:54 |