С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 26.02.2008
Сообщений: 5

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

02.05.2008, 00:11. Показов 1661. Ответов 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!!!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.05.2008, 00:11
Ответы с готовыми решениями:

Дано слово, заменить в нем гласные буквы на согласные, следующие за ним в алфавите, а согласные на гласные
Дано слово, заменить в нем гласные буквы на согласные, следующие за ним в алфавите, а согласные на гласные.

Сгруппировать гласные и согласные буквы
Сгруппировать в массиве символы. Сначала идут гласные а потом согласные буквы английского алфавита.Символы задаются случайно в коде...

Вывести отдельно согласные и гласные буквы
Нужно дописать код, чтобы он выводил все согласные и гласные буквы, передаваемые ему. Уже есть основная часть работы: #include...

2
2838 / 1647 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
03.05.2008, 00:21
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <stdio.h>
#include <conio.h>
#include <string.h>
void main()
{
const char vowels[]="AaEeIiOoUu";
char s[128],mins[128],maxs[128];
double r,minr=+1/0.0,maxr=-1/0.0;
clrscr();
for (;;) {
    printf("Enter some string (empty string to exit): ");
    if (!*gets((char*)&s)) break;
    int i,n=0;
    for (i=0; s[i]; i++)
        if (strchr(vowels,s[i])) n++;
    if (i!=n) r=n/(i-n); else r=+1/0.0;
    if (r<minr) {minr=r; strcpy((char*)&mins,(char*)&s);};
    if (r>maxr) {maxr=r; strcpy((char*)&maxs,(char*)&s);};
    printf("The ratio of vowels to consonants is %.2f\n",r);
    };
printf("The maximal ratio is %.2f (%s)\n",maxr,maxs);
printf("The minimal ratio is %.2f (%s)\n",minr,mins);
getchar();
}
Добавлено через 7 минут
Ой. Там ошибочка, а редактирование сообщения почему-то не работает.
Code
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
#include <stdio.h>
#include <conio.h>
#include <string.h>
void main()
{
const char vowels[]="AaEeIiOoUu";
const char consonants[]="BbCcDdFfGgHhJjKkLlMmNnPpQqRrSsTtVvWwXxYyZz";
char s[128],mins[128],maxs[128];
double r,minr=+1/0.0,maxr=-1/0.0;
clrscr();
for (;;) {
    printf("Enter some string (empty string to exit): ");
    if (!*gets((char*)&s)) break;
    int v=0,c=0;
    for (int i=0; s[i]; i++) {
        if (strchr(vowels,s[i])) v++;
        if (strchr(consonants,s[i])) c++;
        }
    if (c) r=v/c; else r=+1/0.0;
    if (r<minr) {minr=r; strcpy((char*)&mins,(char*)&s);};
    if (r>maxr) {maxr=r; strcpy((char*)&maxs,(char*)&s);};
    printf("The ratio is %.2f (vowels:%d, consonants:%d)\n",r,v,c);
    };
printf("The maximal ratio is %.2f (%s)\n",maxr,maxs);
printf("The minimal ratio is %.2f (%s)\n",minr,mins);
getchar();
}
0
0 / 0 / 0
Регистрация: 26.02.2008
Сообщений: 5
03.05.2008, 01:13  [ТС]
всем спасибо
тема закрыта
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.05.2008, 01:13
Помогаю со студенческими работами здесь

Найти все гласные буквы в словах
дано натурально число n ,и символы S1,S2,S3....группа символов ,которые разделены пробелами и не имеют в середине себя пробелов будем...

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

Определить чередуются ли в строке st гласные и согласные буквы
Дана строка st при инициализации, длиной не более 20 символов, которая может состоять из цифр,малых латинских букв, знаков + - * / ; , . (...

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

Вывести все глухие согласные (без повторений), которые встретились в двух самых коротких словах
Помогите или хотя бы натолкните на мысль чайника в программировании, пожалуйста! Итак, дана следующая задача: Дан массив из n слов...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru