Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
starhunter
0 / 0 / 2
Регистрация: 08.05.2015
Сообщений: 4
#1

Программа не считает количество пробелов в строке - C (СИ)

08.05.2015, 16:12. Просмотров 340. Ответов 2
Метки нет (Все метки)

Добрый день! Программа компилируется, подсчитывает количество строк и табуляцию, но пробелы не считает. Подскажите, в чем ошибка?
http://www.cyberforum.ru/c-beginners/thread693681.html

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
 
main()
{
    int c, sp, tab, st;
    sp = 0; //spaces
    tab = 0; //tabulation
    st = 0; //strings
    
    while ((c = getchar()) != EOF) 
        if (c == '\n') //подсчет символов новой строки
            ++st;
        if (c == ' ') //подсчет пробелов
            ++sp;
        if (c == '\t') //табуляция
            ++tab;
            
    printf("Spaces %d\nTabulation %d\nStrings %d\n", sp, tab, st);
 
        getch();
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.05.2015, 16:12
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Программа не считает количество пробелов в строке (C (СИ)):

В символьной строке определить количество пробелов
В символьной строке определить количество пробелов: var s,s1:string; ...

Подсчитать количество подряд идущих пробелов в строке
Дана строка пробелов подсчитать количество подряд идущих пробелов. Не работает...

Найти количество слов или пробелов в строке
Друзья, помогите написать программу, которая найдет количество слов в тексте,...

Подсчитать максимальное количество идущих подряд пробелов в строке
Здравствуйте, я новичок, сижу вот, парюсь. Допилите программу пожалуйста....

Подсчитать наибольшее количество подряд идущих пробелов в строке
Дана строка символов.Подсчитать наибольшее количество подряд идущих пробелов.

2
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
25597 / 17150 / 6821
Регистрация: 22.10.2011
Сообщений: 30,350
Записей в блоге: 6
08.05.2015, 16:15 #2
Да и табуляцию не должно. Либо
C
1
2
3
4
5
6
7
8
9
    while ((c = getchar()) != EOF) 
    {
        if (c == '\n') //подсчет символов новой строки
            ++st;
        if (c == ' ') //подсчет пробелов
            ++sp;
        if (c == '\t') //табуляция
            ++tab;
    }
, либо else добавлять, у тебя цикл while только на первый if распространяется...
1
starhunter
0 / 0 / 2
Регистрация: 08.05.2015
Сообщений: 4
08.05.2015, 16:17  [ТС] #3
Точно! Спасибо.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.05.2015, 16:17
Привет! Вот еще темы с решениями:

Программа, которая выводит на экран слова в порядке убывания длины, а также считает количество букв "s"
Составить программу проверки, есть ли в тексте буква &quot;s&quot;. Расположить слова в...

Функция удаления пробелов в строке
Помогите найти ошибку: void del(char *s1,char *s2) { int i,j,k=0; ...

Избавиться от лишних пробелов в строке
Помогите доделать программу. Нужно избавиться от лишних пробелов. Она выводит...

Программа работает, а не считает
Всем доброго времени суток! Делаю себе лабораторные. Скоро модуль. Блок-схемы...


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

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

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