Мне нужно получить действительный номер от пользователя от 0 до 9 без дубликатов. Действительный номер может иметь любое количество цифр, от 1 до 10. Если пользователь вводит «пробел» или любой символ, то вход недействителен. Мой алгоритм:Проверка бесконечного ввода char number
1) Создайте массив символов размером 10, затем инициализируйте все ячейки до '0'.
2) Для каждого символа, который читается от пользователя, проверьте, действительно ли символ равен 0-9.
2.1) Если значение true: подсчитайте номер ячейки +1.
2.2) Else "error".
2.3) Если я добираюсь до ячейки, у которой уже есть +1, это число уже существует, а затем «ошибка».
Теперь несколько вопросов о моей идее:
1) Есть ли лучший \ простой алгоритм, чтобы сделать это?
2) Пользователь не вводит char символом char, значит, я могу получить бесконечную длину символа, поэтому где я все храню?
Если у вас не может быть двух цифр, любой вход длиной более 10 цифр в любом случае является недопустимым. – Dmitri
@ Dmitri это правильно, но все же, мне нужно проверить char на char. Потому что пользователь может ввести: «14532» - это меньше 10 цифр, а также действительный номер. или может ввести: «2345s o $», который составляет менее 10 цифр, но не действительный номер. – user3075653
Но вам не нужно хранить дополнительные символы ... если вы получаете больше 10, число плохое, и вы можете просто отказаться от дополнительных символов. Если вы получаете меньше/равно 10, то вы можете проверить, что те 10 (или меньше) делают действительный номер. – Dmitri