Форум программистов, компьютерный форум CyberForum.ru

Подсчитать количество гласных букв в каждом слове предложения - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Правильно ли написан класс DigitalTimeException http://www.cyberforum.ru/cpp-beginners/thread676833.html
Помогите пожалуйста, с созданием класса. Необходимон аписать класс - DigitalTimeException со след: - конструктор с 2 аргументами: int error_number, и текстовой error_message; - любое целое значение и любое текстовое значение string было бы valid; - private member variables to store the error number and error message. хранить error message как string type variable. - Public member...
C++ Найти элемент в матрице, для которого сумма элементов, расположенных выше и левее него, максимальна Пожалуйста, помогите решить. Дана целочисленная матрица n x n. Найти в ней элемент, для которого сумма элементов, расположенных выше и левее него, максимальна. Заранее спасибо :) http://www.cyberforum.ru/cpp-beginners/thread676828.html
C++ Перевод числа из одной с.с. в другую, манипуляции с цифрами числа
Здравствуйте! У меня такая проблема... Есть программа, выполняющая определенные операции с введенным числом (переставляет местами цифры, заменяет цифры на другие цифры). Так вот... Нужно, чтобы вводилось число в десятичном формате, затем переводилось в 8-ую систему счисления, далее выполнялись преобразования (моя программа) и дальше выводить опять в десятичной системе счисления конечный...
Найти количество четных и количество нечетных элементов ряда C++
Здравствуйте, помогите решить задачу: 1. Найти количество четных и количество нечетных элементов ряда: 2+x 3+x 4+x…10+x 2. Найти значение выражения: http://s4.hostingkartinok.com/uploads/thumbs/2012/10/b8fcba469e0db96872ce8f6233733434.png Сам думал, не пойму как организовать... Заранее спасибо.
C++ Матрица - на месте каждого числа записывать сумму всех чисел http://www.cyberforum.ru/cpp-beginners/thread676803.html
есть матрица: 1 2 3 4 5 6 7 8 9 нужно, чтобы на месте каждого числа записывалась сумма всех чисел, которые находятся выше и левее. 1 3 6 5 12 21 12 27 45
C++ Наследование классов Здравствуйте, извините за глупый вопрос, но у меня проблема в следующем: Имеется базовый класс class TestFirst{ public: int a1; int a2; }; И его наследник подробнее

Показать сообщение отдельно
Jony Wocker
45 / 45 / 2
Регистрация: 19.11.2009
Сообщений: 362
21.10.2012, 20:23     Подсчитать количество гласных букв в каждом слове предложения
Доброго времени суток вам.
Есть задание.
Ввести с клавиатуры предложение. Подсчитать количество гласных букв в каждом слове предложения.
Сформировать из этих слов массив.


Улучшить, упростить, сделать код умнее

Написал код для решения этой задачи. Он работает(правда только с англ. текстом).
Появился вопрос об улучшении этого кода. Может можно было использовать какие-то функции С++ или просто были проще пути решения нежели мои.

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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include <iostream>
#include <string.h>
#include <conio.h>
using namespace std;
 
void main(){
    char glas[6]="aeiou"; //Создаем массив гласных букв англ. языка.
    char newcharmas[256]="\0"; //Новый массив с присвоенным нулевым символом.
    int k=0; //Для подсчета гласных в предложении.
    int mk; //
    char predl[256];
    cout<<"Vvedite"<<endl<<">>>";
    cin.getline(predl,256);
    cout<<endl<<"Vi vveli: "<<predl<<endl;
    
    //Разбиваем строку на лексемы. Для простоты проверки и создания нового массива.
    char * pch;
    pch=strtok(predl," ");
    while(pch!=NULL)
    {
        mk=k; //Присваевам mk значение k
        for (int i=0; i<=strlen(pch); i++)
        {
            if (pch[i]=='a' ||pch[i]=='e' || pch[i]=='i' || pch[i]=='o' ||pch[i]=='u')
            {
                k++;
            }
        }
        if (mk!=k)//Если изменилось значение k...
        {
            strcat(newcharmas,pch); //...то вставляем в новый массив слово с в котором были найдены гласные.
            strcat(newcharmas," ");//добавляем пробел
        }
        pch=strtok(NULL," ");
    }
/*//Альтернативный подсчет гласных, но тогда усложняется создание нового массива.(Как мне кажется)
    for (int i=0;i<=strlen(predl)-1;i++)//i<=strlen(predl)-1  - отсекаем нулевой символ
    {
        for(int j=0;j<=strlen(glas)-1;j++){
            if (predl[i]==glas[j])
            {
                k++;
            }
        }
    }*/
    cout<<endl<<"V dannom predlozhenii "<<k<<" glasnih bukv.";
    cout<<endl<<"Sozdan noviy massiv: "<<newcharmas;
    
 
    _getch();
 
 
}
Спасибо за внимание.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 02:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru