|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
18.03.2013, 18:32 | #1 |
Пользователь
Регистрация: 23.11.2012
Сообщений: 45
|
вылетаю из while ...
небольшая задачка у меня
есть текстовый файл читаю его построчно, разбиваю на переменные массива до разделителя "/", и ... улетаю подскажите, пожалуйста: тексовый файл 1.txt: Manchester United/Patrice Evra/27/4/5/ Manchester United/Michael Carrick/26/0/4/ Manchester United/Robin Van Persie/25/19/8/ текст программы: Код:
лучше день потерять, а потом за пять минут долететь
Последний раз редактировалось BigDaddy; 19.03.2013 в 17:08. |
18.03.2013, 18:41 | #2 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
Куда вылетаете? На Мадагаскар?
Рискну предположить, что происходит обращение к памяти за пределами массива player, ибо k и j растут неограниченно. В коде вообще творится ужас, а отсутствие форматирования ни разу не помогает в нём разобраться. Используйте тег форума CODE для оформления программного кода. |
18.03.2013, 18:45 | #3 |
Пользователь
Регистрация: 23.11.2012
Сообщений: 45
|
извините ))
поправил с code но все равно она у меня не работает.... почему-то не видит конец строки что ли... где-то я лишний i++ ставлю, но не могу понять, где и ... и что теперь делать?
лучше день потерять, а потом за пять минут долететь
Последний раз редактировалось BigDaddy; 18.03.2013 в 18:47. |
18.03.2013, 18:47 | #4 |
C/C++, Java
Участник клуба
Регистрация: 28.03.2012
Сообщений: 1,679
|
Скажите пожалуйста, а что этот код вообще должен делать?
Читать файл?
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости" Сложность - враг простоты и удобства! |
18.03.2013, 19:02 | #5 |
Пользователь
Регистрация: 23.11.2012
Сообщений: 45
|
да,
должен построчно читать текстовый файл загонять в ячейки массива все символы каждой строки файла 1.txt до "/" и так по всем строкам и... Мадагаскар... я попробовал добавить lin.length()- размер длины строки и .... лучше, но не то...
лучше день потерять, а потом за пять минут долететь
Последний раз редактировалось BigDaddy; 18.03.2013 в 20:11. |
19.03.2013, 11:10 | #6 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
1) Когда я вижу цикл while(true), я ищу внутри break или return. В данном случае не нашёл ни того, ни другого - значит, цикл вечный.
2) Код:
3) Код:
4) Логическая ошибка: Вы читаете строку, пока не встретите '\0'. В ней вы читаете слово, пока не встретите '/'. Когда Вы читаете последнее слово, в конце его нет '/'. Упс. |
19.03.2013, 16:35 | #7 | |
Пользователь
Регистрация: 23.11.2012
Сообщений: 45
|
Цитата:
ДАААААААА!!!!!!!! вот оно!!!!!!!!! я в текстовом файле 1.txt добавил в конце каждой строки "/" и все заработало!! Manchester United/Michael Carrick/26/0/4/ Manchester United/Robin Van Persie/25/19/8/ Manchester United/Rafael/21/3/3/ спасибо огромное!!!!!!!! буду пыхтеть дальше.....
лучше день потерять, а потом за пять минут долететь
Последний раз редактировалось BigDaddy; 19.03.2013 в 16:48. |
|
19.03.2013, 16:45 | #8 | |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
Цитата:
Вот смотрите: Вы читаете первую строку. Читаете, читаете, наконец прочитали символ '5' и записали его в player[0][4]. Вывели символ player[0][4] (вывелось '5'). Увеличили i на 1. Проверили условие цикла: lin[i]!='/'. Оно истинно (потому что lin[i] теперь равно '\0'). Записали его в player[0][4] (затерев символ '5'). Вывели символ player[0][4] (вывелось ничего). Увеличили i на 1. Попытались проверить условие цикла: lin[i]!='/'. Класс string сообразил, что Вы уже лезете куда-то не туда и ка-ак заорёт. Программа падает. К слову: принято, что при нормальном завершении main возвращает код завершения 0. Любой ненулевой код традиционно считается признаком какой-то ошибки. |
|
19.03.2013, 16:50 | #9 | |
Пользователь
Регистрация: 23.11.2012
Сообщений: 45
|
Цитата:
это у меня уже была истерика с агонией - и я добавлял и return 1, и длину строки ограничивал... искал, в общем, но не там...
лучше день потерять, а потом за пять минут долететь
|
|
19.03.2013, 17:06 | #10 |
Пользователь
Регистрация: 23.11.2012
Сообщений: 45
|
в первом своем посте все поправил - теперь там все рабочее...
лучше день потерять, а потом за пять минут долететь
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вылетаю после inter'a | Carn | Общие вопросы C/C++ | 4 | 23.03.2010 23:58 |