![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
kvak |
![]()
Сообщение
#1
|
Студент ![]() Группа: Участник Сообщений: 51 Регистрация: 5.5.2010 Пользователь №: 1690 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
Здравствуйте. Не могли бы вы посмотреть на исходники во вложении и сказать что в них неправильно. И поправить. Там маленькая программка. Задача в том, чтобы открыть log.txt и отобрать из него вхождения для каждого случая, если они встретятся. Мне кажется, что по идее все должно работать, но что-то я недопонимаю. После компиляции почему-то не хочет выполнять цикл и приложение не отвечает.
Кстати, в с++ можно задавать в цикле for по два инициализатора и два инкримента, типа такого ? for (int index = 0, int c =0 ; index != -1; index++, c++ ) { ... } Если да, то почему-то при компиляции это считалось ошибочным.
Прикрепленные файлы
|
|
|
![]() |
kvak |
![]()
Сообщение
#2
|
Студент ![]() Группа: Участник Сообщений: 51 Регистрация: 5.5.2010 Пользователь №: 1690 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
Все. Понял. Спасибо.
Попробывал сегодня поменять этот же проблемный цикл, и заработало, когда стал использовать слово break для выхода. Но вот реально все равно не пойму почему в том случае, когда не работает, не срабатывает условие index =-1; Не работает и зависает
Работает как надо и очень быстро
Блин. Все. Теперь понял. Я вместо условия задал приравнивание. Тогда почему он вообще скомпилировал... Хотя нет. все-таки у меня все-таки было изначально index !=1 И это условие получается не выполнялось. for (int index = 0 ; index != -1; index++ ) { index = Engine.indexOf(vxod[a], index); ... Т.е. я понимаю так , что цикл должен прерываться в том случае, когда index станет равен - 1 Т.е. как я понял ошибка в том, что когда index становится - 1, то перед проверкой условия происходит index++ и поэтому он всегда 0. Так получается ? |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 17.6.2025, 7:06 |