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

Определить количество гласных и согласных букв в строке

01.11.2009, 16:42. Просмотров 1196. Ответов 8
Метки нет (Все метки)

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

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
char str[80]="V etoi stroke neskoliko slov, kotorie nujno pos4itati!";
char terms[]="'!;:,.?- ";
char *res=NULL;
int word_count;
void main()
{
clrscr();
res=strtok(str, terms);
while(res!=NULL)
{
word_count++;
res=strtok(NULL, terms);
}
printf("Slov v predlojenii %i shtuk", word_count);
getch();
}
Теперь надо закончить её, выполнив задание: Определить количество гласных и согласных букв. В Си новичок, не ругайтесь. По паскалю помню, что нада было объявить отдельный массив и сравнивать...А здесь также? Или как это сделать? Подскажите, пожалуйста! Зарание спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.11.2009, 16:42
Ответы с готовыми решениями:

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

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

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

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

Определить каких букв больше: гласных или согласных и на сколько
Не пойму почему он выдает ошибку..Помогите пожалуйста.. Ввести строку А с...

8
audiophile
9 / 9 / 2
Регистрация: 01.11.2009
Сообщений: 67
01.11.2009, 17:03 2
Ну можно, например, через свитч:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using namespace std;
 
char str[80]="aatgteea";
 
int main()
{
    int i, sogl = 0, glas = 0;
    for ( i = 0; i < 80; i++ )
    {
        switch (str[i]) {
            case 'a': glas++; break;
            case 'e': glas++; break;
            // ...
            case 't': sogl++; break;
            case 'g': sogl++; break;
        };
    }
    cout << "Soglasnih: " << sogl << endl;
    cout << "Glasnih:   " << glas << endl;
    return 0;
}
1
nonetest
0 / 0 / 0
Регистрация: 01.11.2009
Сообщений: 4
01.11.2009, 17:08  [ТС] 3
А без него никак?
0
audiophile
9 / 9 / 2
Регистрация: 01.11.2009
Сообщений: 67
01.11.2009, 17:15 4
А почему вы считаете его плохим? Ну можно элементы str сравнивать с массивами гласных и согласных. Только разница?

Добавлено через 2 минуты
nonetest, в свитче не забудьте еще прописать default, если будете использовать этот метод.
0
desp
14 / 14 / 1
Регистрация: 17.10.2009
Сообщений: 58
01.11.2009, 17:15 5
Посчитать количество пробелов не тру для определения количества слов?
а насчет гласных-согласных - или через свич, или через массив:
C++
1
2
3
4
5
int chars[255];
for(short i=1;i<..;i++)
{
chars[str[i]]++;
}
ну и вывод..
0
nonetest
0 / 0 / 0
Регистрация: 01.11.2009
Сообщений: 4
01.11.2009, 17:20  [ТС] 6
Не считаю его плохим. Считаю его неизученным. Мне бы что-то попроще, если, конечно, существует таковое. Попроще - имею ввиду на уровне новичка. =)
0
audiophile
9 / 9 / 2
Регистрация: 01.11.2009
Сообщений: 67
01.11.2009, 17:23 7
Попроще - имею ввиду на уровне новичка.
Интересно. Значит использовать strtok в программе для вас легко, а switch (базовый оператор как, например, for, while) — что-то крутое . Наоборот!
0
Андрейка
422 / 226 / 87
Регистрация: 25.03.2009
Сообщений: 744
01.11.2009, 17:27 8
да пробелов то между словами может быть и не один а несколько и слова не будут пропорциональны количеству пробелов ) зачем вобще использовать СИ-строки не легче контейнеры ?? например
vector < string > a ; контейнер содержащий объекты класса string вот тебе и выходит пример строки со словами и работать с таким удобнее через итераторы. если конечно язык С++
0
nonetest
0 / 0 / 0
Регистрация: 01.11.2009
Сообщений: 4
01.11.2009, 17:29  [ТС] 9
Андрейка, неа, нужно именно строки и именно в СИ =)


audiophile, Терь буду знать, спасибо! =)
0
01.11.2009, 17:29
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.11.2009, 17:29

Подсчитать количество слов, являющихся регулярными цепочками и в которых имеется чередование гласных и согласных букв
На языке Си ЗАДАНИЕ: Дана последовательность слов, которую необходимо...

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

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


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

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

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