![]() |
|
Модераторы: bsa |
![]()
|
|
| Killer_13 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 12.1.2008 Где: Germany Репутация: 1 Всего: 1 |
Значит так, читаю из файла 9 строк, 10 пустая, поэтому просто ее присваиваю левой переменной.
Читаю и в сл цыкле вывожу в другой файл. Как то криво пишет данные в структуру, а в файл не записывает вообще ничего. Если не трудно подскажите куда смотреть.. Пасиб.
|
|||
|
||||
| Killer_13 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 12.1.2008 Где: Germany Репутация: 1 Всего: 1 |
ДОРАБОТАЛ!!!
Все выдает, пишет в файл, но данные как то вперемешку, господа, не глянете? Заранее благодарен!
Добавлено через 10 минут и 8 секунд Сначало пишет вот так ";;;;;;;;; а потом начинает писать в строку с последнего элемента, потом предпоследний, потом.. так д.. последний элемент то который должен быть первым. Что то нужно поменять, чтоб начинало с первого. Пасиб" |
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 35 Всего: 223 |
Вы когда читаете файл, создаете список, вставляя новый элемент в начало. Таким образом у вас образуется инверсный список (последний элемент в начале, первый в конце). А выводите вы список в прямом порядке (от начала к концу).
Меняйте способ добавления элемента в список |
|||
|
||||
| Killer_13 |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 12.1.2008 Где: Germany Репутация: 1 Всего: 1 |
Ок, понятно, что вывод структуры в файл у меня правильный, теперь не получается изменить правильную запись в структуру, вроде все правильно немогу догнать что поменять.. :(
Вот такая у меня структура, может потому глюк, что указатель на следующий элемент стоит в начале структуры?
а вот так я в нее записываю.
подскажите, а то хожу кругами.. :( |
||||
|
|||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 35 Всего: 223 |
Это запись в начало. Для записи в конец надо либо иметь отдельный указатель на конец списка, либо каждый раз искать этот конец сканируя список с начала
|
|||
|
||||
| Killer_13 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 12.1.2008 Где: Germany Репутация: 1 Всего: 1 |
хорошо, подскажите тогда где копать, а роюсь в инете, а там все примеры стандартные... и свою задачку делал по такому же примеру...
|
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Killer_13, все очень просто. введи еще одну переменную - указатель на последний элемент списка (это вместо строк 10-13):
|
|||
|
||||
| Killer_13 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 12.1.2008 Где: Germany Репутация: 1 Всего: 1 |
Хммммм, а для меня все оч сложно.. :(:(:(
Не работает...
|
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 35 Всего: 223 |
После 10 строки напишите
|
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Killer_13, а если хорошенько подумать? Например над тем, чем будет равен root. И над тем, куда читаются данные из csv... Я же не полностью готовый код дал, а лишь идею.
|
|||
|
||||
| Killer_13 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 12.1.2008 Где: Germany Репутация: 1 Всего: 1 |
bsa беру карандаш, листик, буду рисовать и думать, уж очень хочется добить эту тему.
Как что надумаю отпишусь. xvr - сделал - не работает. :( |
|||
|
||||
| fuckingniger |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 223 Регистрация: 1.10.2010 Репутация: нет Всего: 1 |
тут определенно неправильное условие окончания цикла условие для одного элемента а работаешь в цикле ты с другим Модератор: отформатировал сообщение, чтобы читалось и помещалось на экране Это сообщение отредактировал(а) bsa - 14.10.2010, 17:49 |
|||
|
||||
| Killer_13 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 12.1.2008 Где: Germany Репутация: 1 Всего: 1 |
Вот что надумал, просмотрите ход мыслей, спасибо.
Может многое что я написал не оч правильно, но попробовал, вот что получилось... Заранее спас за помощь.. Добавлено через 1 минуту и 24 секунды fuckingniger - "нипанятна" - а на что заменить, смотрел несколько примеров - вывод элементов осуществляется так.. |
|||
|
||||
| Killer_13 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 12.1.2008 Где: Germany Репутация: 1 Всего: 1 |
Уряяя частично заработало
Вот код, считывает 1 элемент и выводит так как мне нужно, как только я добавляю цыкл чтоб читать до конца файла, то виснет начинает писать в файл. Что еще не так.. что то не тау с записью в файл.. скорее всего..
|
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Killer_13, мне надоело тебе объяснять:
Это сообщение отредактировал(а) bsa - 14.10.2010, 17:53 |
|||
|
||||
| Killer_13 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 12.1.2008 Где: Germany Репутация: 1 Всего: 1 |
bsa //надеюсь, конструктор обнуляет поле next? - нет, это задание пока без конструкторов.. :(
А мой вариант тоже работал, просто выводил почему то только один элемент. :( |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Тогда зануляй вручную сразу после new. |
|||
|
||||
| Killer_13 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 12.1.2008 Где: Germany Репутация: 1 Всего: 1 |
Это сообщение отредактировал(а) Killer_13 - 14.10.2010, 19:46 |
|||
|
||||
| Killer_13 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 12.1.2008 Где: Germany Репутация: 1 Всего: 1 |
По ходу все работает, но почему то в конце строки печатается еще один пустой элемент. тоисть ";;;;;;;;;;" - что не так?
|
|||
|
||||
| bsa |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Потому что eof замечает ошибку только после попытки прочитать за концом файла. Поэтому, ты должен проверять результат выполнения каждого getline:
|
||||
|
|||||
| Killer_13 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 12.1.2008 Где: Germany Репутация: 1 Всего: 1 |
Брр, не понял, как проверять каждый гетлайн? Прошу прощения если оч сильно туплю. :( |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
я же тебе написал. строки 3 и 4. Остальные по аналогии с 4-й. |
|||
|
||||
| Killer_13 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 12.1.2008 Где: Germany Репутация: 1 Всего: 1 |
Все, написал. Работает.
Теперь хочу написать все ли я правильно понял. Тоисть разобрался ли. создаем элемен, зануляем его функция гетлайн возвращает true если она сработала если нет, - тогда false На последней строчке вона возвращает false тогда переменной res присваивается "0" дальше "res = 0" "гетлайн снова возвращает 0", а 0&&0 = 0 Будет срабатывать только тогда когда 1&&1=1 дальше проверка, если res=0 if не срабатывает и наш элемент удаляется "delete node" если срабатівает, тогда все понятно... дальше я понимаю как работает. Большое спас. |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
||||
|
||||
| Killer_13 |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 12.1.2008 Где: Germany Репутация: 1 Всего: 1 |
под этим я имел введу возвращает false, да я не корректно, неправильно написал. Да и не думал что getline возвращает istream& на счет void* кажется тоже понял, но вслух не буду, а то уже страшно. :( На счет && книга читал, и не одну, прям сейчас перелистал 2 книги. Я все правильно понял. Если логическое "и" то будет истина когда и первое и второе значение истина. ЧТО не так? Спасибо. |
||||||
|
|||||||
| bsa |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
|
||||||
|
|||||||
| Killer_13 |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 12.1.2008 Где: Germany Репутация: 1 Всего: 1 |
Точно, вспомнил - преподаватель рассказывал. Я думаю вы решили мне подсказать
Тоисть если файл не открывается, то получается пустой, нуль указатель. Это вы имели введу? |
||||||
|
|||||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Killer_13, нет. Это таким образом делают преобразование к типу bool... Хотя менее опасно это делать через указатель на член класса.
|
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |