| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > почему происходит заполнение массива |
| Автор: kLASTER 25.2.2013, 10:34 | ||
здравствуйте! Объясните, пожалуйста, почему не срабатывает условие и массив продолжает заполняться
И как сделать условие останова через буквенную? Заранее спасибо!!! |
| Автор: bsa 25.2.2013, 11:08 | ||
kLASTER, ты вводишь тип int, при этом, ты не проверяешь поток на ошибки. Чтобы вводить буквы, тебе необходимо изменить тип переменной, в которую ты читаешь данные:
|
| Автор: kLASTER 25.2.2013, 15:03 | ||
| да, спасибо! Но мне как раз и надо вводить int. по условию:
Получается в первой функции я должен ввести дин. массив, и вводить по одному результату до момента "q"! Т.к. типы данных разные я пытаюсь false 'НУЛЁМ', он останавливает и последнее значение вводит в остальные ячейки массива!!! И чета я с первой функцией и застрял. Мне не надо решать всю задачу, я хочу сам! Дайте пинка в правильном напрвлении!! Заранее СПАСИБО!!! |
| Автор: feodorv 25.2.2013, 16:02 |
А какая разница? С клавиатуры (стандартного входа) всё равно вводятся символы. И уже потом неявным образом происходит преобразование последовательности символов в int. В коде bsa эта неявность грамотно раскрыта, что никак не противоречит условию задачи. |
| Автор: kLASTER 25.2.2013, 16:38 |
| istringstream - ни разу не было в учебнике, теперь узнав об этом конструкторе я понял как идет преобразование!!! СПАСИБО! пс: в книге с потоком связано тока cinget(); |
| Автор: kLASTER 25.2.2013, 22:12 | ||
может кому пригодится решение неофита:
|