| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Несколько ошибок пр работе со строкой |
| Автор: SoWa 28.2.2007, 18:54 | ||
Задача- посчитать кол-во единиц в строке.
Ошибка в условии цикла, в условии единицы, в выводе. Вопрос такой: Как использовать strlen, как брать символ от строки и как вывести число? Использую DevC++ |
| Автор: Fazil6 28.2.2007, 19:12 | ||
|
| Автор: threef 28.2.2007, 19:17 | ||||
1. getchar() нет в iostream 2. strlen может применяться только к строкам, а у тебя s - отдельный символ 3. операция [] (элемент массива) может быть применена только к массиву 4.printf© - вывод по формату, одно число не выведет 5.getch - функция, не хватает скобок () |
| Автор: Rockie 28.2.2007, 19:18 | ||||
SoWa, применительно к твоему коду, к примеру по такому принцыпу:
Узнаем длину строки в
заранее. Для того, чтобы не использовать strlen() в цикле. |
| Автор: threef 28.2.2007, 19:18 |
| Дубль выскочил. sorry |
| Автор: Rockie 28.2.2007, 19:19 | ||
| хе, успевай только ответить SoWa, чтобы приведенный мною код скомпилился - убери
|
| Автор: SoWa 28.2.2007, 19:25 |
| О! Спасибки! Сейчас я зачащу в этом разделе- начали Си в универе! Rockie, threef, плюсы ) |
| Автор: Tyjin 28.2.2007, 19:32 |
| на C, без С++ вот так: #include <stdio.h> #include <string.h> #include <conio.h> int main() { char s[255]; int i; int c = 0; int count = 0; gets(s); for (i = 0; i < strlen(s); i++) if (s[i]=='1') c++; printf("Count=%d",c); getch(); return 0;; } |
| Автор: 0lmer 1.3.2007, 08:38 | ||
зачем переменная count если ее не использовать? |
| Автор: yura 1.3.2007, 13:26 | ||
для полноты картины - можно так еще
|