Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
-25 / 0 / 1
Регистрация: 08.12.2013
Сообщений: 146
1

Считаю количество символов в слове, почему у первого слова мой счетчик выдает на один больше чем должно быть?

20.06.2019, 10:26. Просмотров 1137. Ответов 2
Метки нет (Все метки)


Написал программа которая считает количество символов в словах, у первого слова мой счетчик вывел на одно значение больше чему него есть на самом деле, у второго слова все правильно, а у третьего выводит произвольное число.
Где ошибка в программе? Не пишите пожалуйста свою, покажите ошибки. Спасибо
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <stdio.h>
 
int main(void) {
#define IN 1    /* внутри слова */
#define OUT 0   /* вне слова */
int c, status;
int barchart[10];
int i=0; // счетчик ключа массива
status=OUT;
 
while((c=getchar())!=EOF){
 
if((c==' ' || c=='\n') && status==IN) {
 
if (i<=10){
    i++; //увеличиваю счетчик ключей массива на один, если слово закочилось
}
 
printf("\n");
status=OUT;
}
 
else if(c!=' ' && c!='\n'){
 
++barchart[i]; //увеличиваю ключ массива на 1
printf("#");
status=IN;
 
}
}
//for(i=0;i<=10;++i){ //вывод массива, проверка
    printf("\n%d", barchart[0]);
    printf("\n%d", barchart[1]);
    printf("\n%d", barchart[2]);
//}
 
}
скрины

скрин результата
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.06.2019, 10:26
Ответы с готовыми решениями:

Почему scanf содержит на один больше символов, чем в него ввели?
Почему при вводе числа N, затем N символов, вывод - (N-1) символ? #include &lt;stdlib.h&gt; #include...

На жёстком диске занято больше места, чем должно быть
На моём жёстком диске D занято всего 40 гб, но в свойствах диска пишет, что занято 110 гб. В чём...

дана строка символов. 1)Определить количество слов. Длина которых больше длины первого слова
2) определить длину самого длинного слова и напечатать его 3)Определить длину строки с символа с...

Почему выдает ошибку "Значение должно быть скалярным или вектором"?
И еще как написать &quot;converts to series&quot;, а не &quot;series&quot;?

2
6385 / 4288 / 1733
Регистрация: 07.05.2019
Сообщений: 13,101
Записей в блоге: 1
20.06.2019, 10:34 2
Лучший ответ Сообщение было отмечено brahmanchikk как решение

Решение

Цитата Сообщение от brahmanchikk Посмотреть сообщение
Написал программа которая считает количество символов в словах, у первого слова мой счетчик вывел на одно значение больше чему него есть на самом деле, у второго слова все правильно, а у третьего выводит произвольное число.
Наверное потому, что счётчик не проинициализирован. Сделай int barchart[10] ={0};
0
-25 / 0 / 1
Регистрация: 08.12.2013
Сообщений: 146
20.06.2019, 10:37  [ТС] 3
спасибо работает
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.06.2019, 10:37

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

счетчик, должно быть не сложно
Можно ли в SQL запросе поставить счетчик, такой, который будет накапливать результаты обного из...

Как должна быть организована сеть офиса? Что должно быть настроено обязательно, а чего быть не должно?
Добрый день. Сразу оговорюсь, что я инженер-строитель и настройкой сети занимаюсь только потому,...

Сформировать текст, в котором все слова должны быть изменены на количество букв в слове
Подскажите, пожалуйста, задачку.... Дано фрагмент текста. Сформировать текст, в котором все...

В каждом слове текста удалить минимальное количество символов так, чтобы в преобразованном слове не было повторяющихся символов
На форме есть 2: Edit1 и Edit2 из первого считывается, в другой выводится результат. Задание: В...

В каждом слове текста удалить минимальное количество символов так, чтобы в преобразованном слове не было повторяющихся символов.
В каждом слове текста удалить минимальное количество символов так, чтобы в преобразованном слове не...

Удалить слова содержащие больше чем N символов с помощью указателей
Задание: Удалить слова содержащие больше чем N символов с помощью указателей. уже дня 4 пытаю...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.