0 / 0 / 0
Регистрация: 11.08.2016
Сообщений: 6
|
||||||
1 | ||||||
Подбор введённого пароля11.08.2016, 22:26. Показов 2529. Ответов 5
Метки нет (Все метки)
Не могу понять почему не работает. Компилятор не выдаёт ошибок, но ничего не работает. Точнее работает только случай ввода 0000;. Проблема где-то в циклах, возможно в трансформации char->int.
0
|
11.08.2016, 22:26 | |
Ответы с готовыми решениями:
5
Проверка введённого пароля После трех раз неправильно введённого пароля выводить на экран "Превышено допустимое число ввода" Подбор пароля для rar архива Оценка безопасности пароля путем перебора пароля из словаря |
7791 / 6558 / 2984
Регистрация: 14.04.2014
Сообщений: 28,667
|
||||||
11.08.2016, 22:40 | 2 | |||||
Сообщение было отмечено socweb как решение
Решение
Циклы должны быть на символах:
1
|
9 / 9 / 9
Регистрация: 04.08.2016
Сообщений: 24
|
||||||
11.08.2016, 22:48 | 3 | |||||
Работает оно со случаем 0000, потому что первый strcmp отрабатывает правильно (просто потому что вам повезло с ошибками), а дальше идет множество ошибок, которые шансов уже не дают.
0
|
0 / 0 / 0
Регистрация: 11.08.2016
Сообщений: 6
|
|
11.08.2016, 22:57 [ТС] | 4 |
Заработало, однако если преобразовывать строки через atoi в int можно ли будет в цикле for оставить тип int?
Добавлено через 42 секунды Добавлено через 2 минуты Devenmort, однако достаточно оказалось только изменения типа переменных цикла на char;
0
|
9 / 9 / 9
Регистрация: 04.08.2016
Сообщений: 24
|
|
11.08.2016, 23:05 | 5 |
Сообщение было отмечено socweb как решение
Решение
Да, здесь этого достаточно, я просто указал все ошибки первого варианта кода, а не способ исправления. Даже если просто заменить на итерации по char, все равно остаются указанные мной ошибки в начале кода.
Раз решение уже дано, зачем повторяться? atoi преобразует всю строку в одно число, а не набор цифр. Цикл бы сменился на for (int i = 0; i<10000; i++) да и пришлось бы менять изначальное char pas[5] = "0000" на int pas = 0 И это решение было бы лучше, не было бы никакого strcmp, было бы обычное сравнение чисел.
1
|
0 / 0 / 0
Регистрация: 11.08.2016
Сообщений: 6
|
|
11.08.2016, 23:19 [ТС] | 6 |
Получается заработало через char, но как сделать с int? Нужно привести charовские массивы к intовым? Как?
Добавлено через 12 минут Да, с atoi наглупил сильно. Действительно ожидал совсем не того... Ну что ж, спасибо за объяснение.
0
|
11.08.2016, 23:19 | |
11.08.2016, 23:19 | |
Помогаю со студенческими работами здесь
6
Фильтрация введённого текста Анализ введённого числа Анализ введённого числа Сумма цифр введённого числа Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |