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

Сосчитать Гласные и Согласные в словах - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Присвоение значений многомерным массивам http://www.cyberforum.ru/cpp-beginners/thread7731.html
Одномерному массиву значения присваивать совсем просто: int A={0,1,2,3,4}; A=73;Двумерному уже сложнее: int B={ {0,1,2,3,4}, {5,6,7,8,9}, {10,11,12,13,14} }; b=74;А трехмерному совсем сложно: int B={
C++ Простенький текстовый редактор Уважаемые! Может у кого-нибудь есть простенький текстовый редактор под ДОС? Или может кто-нибудь знает где его скачать можно. Обязательно на СИ. У меня среда Borland C3.1++ http://www.cyberforum.ru/cpp-beginners/thread7523.html
C++ Определить размер файла
Мне нужно определить размер какого-либо файла на языке Си: для этого мне нужно его открывать и вычислять через fseek и ftell. Среда BC3.1++
C++ Ошибка выделения памяти...
Когда я пытаюсь выделить память двумерному динамическому массиву, возникает ошибка "Microsoft C++ exception: std::bad_alloc at memory location...". Вобщем суть того что я делал: Мне нужно считать 2 текстовых файла в кодировке ANCI, построчно их сравнить, ну и сделать ещё ряд действий, до которых я ещё не дошёл... Вобщем я создаю класс, который должен заниматься считыванием и разбиением. В нём...
C++ Помогите с написанием модуля работы с видеоизображением http://www.cyberforum.ru/cpp-beginners/thread7437.html
deleted
C++ Алгоритм Брезенхема построения окружности на С++ помогите найти или написать программу алгоритм Брезенхема построения окружности на С++ для Borland 3.1 ПЛИЖ):huh::umnik: подробнее

Показать сообщение отдельно
XXXAlex
0 / 0 / 0
Регистрация: 26.02.2008
Сообщений: 5

Сосчитать Гласные и Согласные в словах - C++

02.05.2008, 00:11. Просмотров 1139. Ответов 2
Метки (Все метки)

Some languages use many more vowels than others. For example, in Hawaiian “Puu Kaa Lani” has
6 vowels and 4 consonants.

Write a program that inputs a line of text, calculates the ratio of vowels to consonants and prints that line with the corresponding ratio. Numbers, spaces and punctuation do not count, for example May 26, 1999 has a ratio of 1 /2. The program should repeat the process until the user enters an empty line.
At the end, it should write the lines with the highest and lowest ratio. It should count only letters, disregarding any other character.
Note: A, a, E, e, I, I, O, o, U, u are vowels(гласные) and other letters are consonants(согласные).

Написал программу- Сосчитать Гласные и Согласные в словах
У меня считает только в последней введенной строчке(Kellogg Competition) а не в первой(Puu Kaa Lani) и поэтому я немогу сосчитать максимальный(highest ratio) и минимальный(lowest ratio) коэфицент между первой и второй строчкой.

Помогите чуть доделать программу

Вот так должно выглядеть:
Sample Input and Output:
Please enter any text> Puu Kaa Lani
Do you wish to continue? (Y/N)
Y
Please enter any text> Kellogg Competition
Do you wish to continue? (Y/N)
N

“Puu Kaa Lani” vowel to consonant ratio is: 6/4
“Kellogg Competition ” vowel to consonant ratio is: 7/11
The line with the lowest ratio is: “Kellogg Competition” ratio vowel to consonant is: 0.6

The line with the highest ratio is: “Puu Kaa Lani” vowel to consonant ratio: 1.5
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
#include "stdafx.h"
#include "conio.h"
#include <iostream>
#include <string>
using namespace std;
 
int main()
{
char retry = 'y';
string s;
 
int vowels=0;
int consonant=0;
int lowest=0;
int highest=0;
 
while (retry == 'y' || retry == 'Y')
{
    cout <<"\nPlease enter text: ";
    cin >> s;
    
    cout << "\nDo you wish to continue? (Y/N)"<<endl;
    cin >> retry;
}
 
for (int i=0; i<int(s.size()); ++i)
{
if (s[i]=='a' || s[i]=='e' || s[i]=='i' || s[i]=='o' || s[i]=='u'
    || s[i]=='A' || s[i]=='E' || s[i]=='I' || s[i]=='O' || s[i]=='U')
++vowels;
else
++consonant;
}
 
cout << "\nTotal vowels are: "<<vowels << endl;
cout << "\nTotal Consonants are: "<< consonant << endl;
cout << "\nConsonant ratio are: "<< vowels << "/" << consonant << endl;
 
if ( vowels <= consonant )
 
cout << "\nThe line with the lowest ratio: " << lowest << endl;
 
cout << "\nThe line with the highest ratio is: "<< highest << endl;
 
_getch();
return 0;
}
Thanks

Добавлено через 18 часов 9 минут
help!!!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 02:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru