|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
28.10.2012, 15:31 | #1 |
Пользователь
Регистрация: 24.08.2012
Сообщений: 28
|
Структуры, указатели, строки, с++
Здравствуйте!
Вот задание: организовать текст помощи в виде линейного списка, каждая компонента текста помощи(звена структуры видимо) содержит термин(одно слово) и описание этого термина(много слов написанных в 1-5 строк это важно). Составить программу которая: 1)позволяет формировать текст 2)просматривать весь текст помощи 3)просматривать лишь один термин и описание к нему Код:
1)Почему не работает реализация поиска термина и его вывод? (3 пункт) 2)Почему ввод\вывод терминов начинается с 1, а не с 0? (пришлось изменить 5 на 6 в массиве desc) 3)Можно ли разыменовать двойной указатель temp для всей функции сразу, чтобы не писать (*temp)-> при каждом обращении, а сразу temp.ololo? 4)Почему в формальных параметрах используется двойной указатель? (потому что мы передаём в функцию переменную с адресом, а двумя звёздочками создаём указатель на эту переменную?) 5)Вообще линейный список реализован до конца? |
28.10.2012, 20:14 | #2 |
Пользователь
Регистрация: 24.08.2012
Сообщений: 28
|
Ап! Ап! Ап!
|
28.10.2012, 21:43 | #3 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
1) Отладчик.
2) По идее должен работать с 0. Отладчик. 3) Можно. Только не скопируйте ненароком, инструкция должна быть text*& tempValue = *temp; 4) Потому что Вам нужно (? собственно, почему Вы об этом спрашиваете? Ваш же код...), чтобы переменная temp из вызывающего кода меняла своё значение. Следовательно, надо передавать в функцию не её саму, а её адрес. Но сама temp уже указатель, вот и получается в качестве аргумента функции адрес адреса. 5) Что имеется в виду? Под линейным списком, насколько помню, обычно понимается структура данных, поддерживающая операции вставки элемента в начало / в конец (с временной сложностью не хуже O(1)), доступа к элементу по индексу (с временной сложностью не хуже O(N)), удаления элемента по индексу (с временной сложностью не хуже O(N)) и последовательного перечисления элементов (с временной сложностью смещения итератора не хуже O(1)). У Вас реализовано не всё из перечисленного. |
29.10.2012, 09:15 | #4 |
Пользователь
Регистрация: 24.08.2012
Сообщений: 28
|
А как сделать чтобы массивы в структуре были динамическими, ведь 101 термин уже не "уместится"?
|
29.10.2012, 10:14 | #5 |
Форумчанин
Регистрация: 24.04.2012
Сообщений: 300
|
Вы наверно немного не понимаете, но у вас в одном экземпляре структуры может быть 1 термин и 6 описаний к нему и строки (термин и описание) размером 100 символов.
Помог? Оставляем отзыв =)
|
29.10.2012, 13:22 | #6 |
Пользователь
Регистрация: 24.08.2012
Сообщений: 28
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Динамические структуры. указатели. записи. паскаль. | Владисла8 | Фриланс | 2 | 07.05.2012 04:40 |
Динамические структуры. указатели. записи. паскаль. | Владисла8 | Фриланс | 2 | 11.04.2012 17:11 |
Структуры через указатели | ensoleille | Помощь студентам | 2 | 21.02.2011 14:10 |
Структуры и указатели. | Geg[C/c++] | Помощь студентам | 3 | 30.09.2009 12:13 |
Структуры и указатели | phpcreator | Помощь студентам | 1 | 09.09.2009 17:57 |