0 / 3 / 0
Регистрация: 28.06.2013
Сообщений: 359
|
|
1 | |
Программа поиска31.05.2014, 08:48. Показов 1435. Ответов 29
Метки нет (Все метки)
Почему эта программа не работает? Не могу найти ошибку.
Первый раз цикл написал внутри другого цикла. Подумал из за этого типа исправил. Выложил оба скрина. Помогите понят в чем проблема. И как переписать эту программу используя switch. Выявил ошибку. Могу использовать char в место string. Но хочу знать почему не работает стринг.
0
|
31.05.2014, 08:48 | |
Ответы с готовыми решениями:
29
Программа поиска данных Программа поиска простых чисел Программа реализации алгоритмов поиска Программа поиска и копирования данных |
magirus
|
31.05.2014, 08:54
#4
|
Не по теме: Croessmah, шо, уже не первая подобная сегодня?
0
|
0x10
|
31.05.2014, 08:56
#5
|
0
|
0 / 3 / 0
Регистрация: 28.06.2013
Сообщений: 359
|
|||||||||||||||||
31.05.2014, 09:06 [ТС] | 6 | ||||||||||||||||
Первый.
И кажется нашел решение проблемы с switch Добавлено через 2 минуты Посмотрите код внимательней. Ноль чтоб проверит именно первую букву. Операция AND может и не правильный. раньше была == но не работало.
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
31.05.2014, 09:06 | 7 |
0
|
0 / 3 / 0
Регистрация: 28.06.2013
Сообщений: 359
|
|
31.05.2014, 09:08 [ТС] | 9 |
0
|
0 / 3 / 0
Регистрация: 28.06.2013
Сообщений: 359
|
|
31.05.2014, 09:09 [ТС] | 10 |
taras atavin, ха ха очень смешно!
0
|
Неэпический
|
||||||
31.05.2014, 09:12 | 11 | |||||
потому что 2 буквы есть, а в цикле
0
|
0 / 3 / 0
Регистрация: 28.06.2013
Сообщений: 359
|
|
31.05.2014, 09:14 [ТС] | 12 |
Вопрос. Можно ли объявит символ константой после ввода с консоли?
0
|
3257 / 2059 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
|
31.05.2014, 09:18 | 13 |
Лови короткий вариант решения.
1
|
0 / 3 / 0
Регистрация: 28.06.2013
Сообщений: 359
|
|||||||||||
31.05.2014, 09:32 [ТС] | 14 | ||||||||||
Эмм. Если цикл в первом проходе находит все нужные символы то во втором проходе не должен видит их. По этому написал там vChar[0] чтоб другие элементы вектора не мешали.
Тут ошибка в том что оператор AND покажет все символы в первом проходе как нужные. Но там не 68 символов. Переписал код
Добавлено через 3 минуты 0x10, я хочу ввести и текст и символы которых надо искать в тексте с консоли. Если уж сохранит и текст и символы в программе то без особых проблем можно написать код с помощи switch. И я не дошел до алгоритмов.
0
|
Неэпический
|
|
31.05.2014, 09:35 | 15 |
Берете листочек с карандашом и пошагово проходите по всему алгоритму. Тогда поймете
P.S. 17 символов в строке, 4 прохода. условие vchar[0] && text[i] даст false если только наткнется на '\0'. Так что все символы будут давать true, вот и получаем 17 символом * на 4 прохода = 68
0
|
0 / 3 / 0
Регистрация: 28.06.2013
Сообщений: 359
|
|
31.05.2014, 09:37 [ТС] | 16 |
Убрал первый цикл и все работает. Но все таки остается не решенный вопрос.
Почему при втором проходе цикла срабатывает оператор if? Вид там явно показано что if должен работать только с первым элементом вектора.
0
|
0 / 3 / 0
Регистрация: 28.06.2013
Сообщений: 359
|
|
31.05.2014, 09:47 [ТС] | 18 |
Croessmah, Я это могу понят и без карандаша с бумагой.
Первый проход цикла: -vChar[0] = q -перешли в оператор if -проверяем равенство vChar[0] == text[i] - true -переходим на следующий шаг и добавляем +1 к numChr1 Второй проход цикла: -vChar[1] = w -переходим в оператор if -проверяем равенство vChar[1] == text[i] -false в операторе If явно показано что проверяется именно vChar[0] -пропускаем следующий шаг, так как оператор if получил значение fasle. Возвращаемся в первый шаг цикла и проверяем vChar[j]
0
|
3257 / 2059 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
|
31.05.2014, 09:48 | 19 |
0
|
Tulosba
|
31.05.2014, 09:48
Программа поиска
#20
|
Не по теме: 0x10, откуда столько шумов?
0
|
31.05.2014, 09:48 | |
Программа для поиска файлов Программа поиска по data файлу Программа для поиска файлов Программа поиска повторяющихся файлов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |