Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 15.11.2016
Сообщений: 18
1

Частота согласных в строке

17.11.2016, 07:15. Показов 1556. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Пишу программу, в которой надо найти частоту согласных в строке. Я не знаю, есть ли специальная функция для этого, поэтому думаю, что надо сделать проверку, который проверяет определённый символ на согласность, но не знаю, как написать все согласные. Вот код, где их надо писать(на месте 'b' надо написать все согласные, но я не знаю, как):
C
1
2
3
4
for(i=0; i<=len; i++)
    {
        if(s[i] == 'b') count = count+1;
    }
Помогите, пожалуйста)
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.11.2016, 07:15
Ответы с готовыми решениями:

Подсчитать количество согласных букв в строке
Ввести с клавиатуры строку текста. Подсчитать количество согласных букв в строке. Помогите...

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

Определить, больше в строке гласных или согласных букв
Дана строка. Определить, больше в строке гласных или согласных букв. Код почти разработан, есть...

Найти частоту появления согласных букв в строке (перевод с С++)
условия: Найти частоту появления согласных букв в строке. #include &lt;iostream&gt; #include &lt;string&gt;...

4
1786 / 1036 / 445
Регистрация: 12.05.2016
Сообщений: 2,550
17.11.2016, 08:11 2
Лучший ответ Сообщение было отмечено bxilmhack как решение

Решение

Цитата Сообщение от bxilmhack Посмотреть сообщение
на месте 'b' надо написать все согласные, но я не знаю, как
Ну для одной согласной же написали.
Цитата Сообщение от bxilmhack Посмотреть сообщение
C
1
if(s[i] == 'b') count = count+1;
А еще и прописные бывают. Вот, кажется, ничего не забыл
BbCcDdFfGgHhJjKkLlMmNnPpQqRrSsTtVvWwXxZz

Добавлено через 7 минут
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <string.h>
 
#define CONSONANTS "BbCcDdFfGgHhJjKkLlMmNnPpQqRrSsTtVvWwXxZz"
 
#define is_consonants(c) (  strchr(CONSONANTS, (c)) )
 
int ccount(const char *str)
{
    int count = 0;
    while (*str)  if (is_consonants(*str++)) count++;
    return count;
}
 
int main(void) {
    const char * str = "abcedte";
    printf("count = %d\n", ccount(str));
    return 0;
}
1
0 / 0 / 0
Регистрация: 15.11.2016
Сообщений: 18
17.11.2016, 13:28  [ТС] 3
shvyrevvg, Ваш код слишком сложноват. Я вот написал, помогите исправить недочёт.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <string.h>
#include <ctype.h>
 
int main()
{
    char s[32];
    int len, i, cnt = 0;
    printf("Enter string:\n");
    gets(s);
    len = strlen(s);
    for(i=0; i<=len; i++)
    {
        if(s[i] == 'BbCcDdFfGgHhJjKkLlMmNnPpQqRrSsTtVvWwXxZz') cnt = cnt+1;
    }
    printf("%d", cnt);
    return 0;
}
Или таким образом нельзя реализовать?
0
1786 / 1036 / 445
Регистрация: 12.05.2016
Сообщений: 2,550
17.11.2016, 13:41 4
Цитата Сообщение от bxilmhack Посмотреть сообщение
if(s[i] == 'BbCcDdFfGgHhJjKkLlMmNnPpQqRrSsTtVvWwXxZz') cnt = cnt+1;
Так сравнивать нельзя, потому что s[i] это один символ и Вы пытаетесь его сравнить со строкой(должна быть, кстати в двойных кавычка =) ).
Нужен цикл и сравнивать этот символ с каждым символом строки.

Добавлено через 2 минуты
C
1
2
3
4
5
6
const char* consonants = "BbCcDdFfGgHhJjKkLlMmNnPpQqRrSsTtVvWwXxZz";
for (int j = 0; j < strlen(consonants); j++)
    if (s[i] == consonants[j]) {
        cnt = cnt+1;
        break
    }
1
0 / 0 / 0
Регистрация: 15.11.2016
Сообщений: 18
17.11.2016, 16:44  [ТС] 5
shvyrevvg, Благодарю, очень хорошо разобрался.
0
17.11.2016, 16:44
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.11.2016, 16:44
Помогаю со студенческими работами здесь

Найти слово в строке, в котором минимальное количество согласных букв
помогите с программой... мое написанное: int glas; S1={'a','e','y','o','i','u'}...

Подсчитать количество гласных и согласных букв в строке без учета регистра
помогите написать программу на СИ. Пользователь вводит с клавиатуры строку S. Подсчитать...

Количество согласных в строке
Здравствуйте! Стоит задача: &quot;Определите в строке число согласных&quot;. Как я понимаю, нужно перебрать...

поиск согласных в строке
После каждой согласной буквы вставляется буква например &quot;b&quot;. Подскажите хотябы алгоритм нахождения...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru