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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти все простые числа на отрезке [a,b]. http://www.cyberforum.ru/cpp-beginners/thread359616.html
Изучаем C++ месяц. Сейчас сидим на циклах. Условие задачи, собственно, и есть название темы. К сожалению, справиться с ней у меня не получается. Нашел только в гугле программу которая выводит простые числа в интервале от 1 до 100, но там присутствуют операторы, которых мы еще не изучали. Вообщем, буду очень признателен, если кто-нибудь поможет с решением задачи.
C++ ln - ряд Тейлора double ln(double x, double eps) { double T,S; int K; T=x; K=1; S=T; do{ K=K+1; T=-T*x/K; S=S+T; http://www.cyberforum.ru/cpp-beginners/thread359587.html
printf и scanf против cin и cout C++
Друзья мои,стал учить плюсы и столкнулся с кучей противоречий. То что в С нет cin/cout я знаю. Но вот в С++ возможно использование printf/scanf. Объясните мне разницу этих операторов. Из того,что я находил,говорилось,что cin/cout - сам понимает что и как принимать/выводить и что-то о скорости вывода,но ничего дельного. Объясните пожалуйста на более достойном уровне разницу. Спасибо)
C++ Помогите с макросом
нужно написать макрос(если это возможно) сейчас у меня код выглядит так: std::cin<<a<<b<<c; а после обработки должно выглядить так if(read)std::cout<<a<<b<<c; write(a);write(b);write(с); причем букв a b с может быть любое количество(от одного до 5)
C++ Функция Mid http://www.cyberforum.ru/cpp-beginners/thread359559.html
В бэйсике есть такая функция Mid на С++ есть ли такая функция ? Напишите если есть с примером и пояснением.
C++ Разработать класс «Студент» Добрый вечер)если не сложно , помогите реализовать одну из программ)а то на завтра нужно чтобы было всё готово, а дела не позволили справиться с этим на выходных) 1)Разработать класс «Студент». Класс должен содержать поля для хранения имени, возраста, пола и телефонного номера. Причем имя должно храниться в динамической памяти. Реализовать конструкторы (в том числе конструктор копирования) и... подробнее

Показать сообщение отдельно
talis
 Аватар для talis
789 / 541 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
03.10.2011, 01:58     исправить функцию нахождения гласных букв в массиве
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#include <iostream>
#include <cstring>
 
using namespace std;
 
const double prob_table[]
{
    7.96,  // A
    1.6,   // B
    2.48,  // C
    4.01,  // D
    12.86, // E
    2.62,  // F
 
    // дальше заполняйте таблицу сами
 
    0,     // G
    0,     // H
    0,     // ...
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,    // X
    0,    // Y
    0     // Z
};
 
bool isvowel( char c )
{
    c = toupper( c );
    return c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U' || c == 'Y';
}
 
double count_prob( const char * str )
{
    double prob = 0;
    char prev;
    bool has_vowels = false;
 
    while( *str )
    {
        if( isspace( *str ) )
        {
            if( !isspace( prev ) )
            {
                // если в предыдущем слове не было гласных
                if( !has_vowels )
                   return 0;
 
                // в новом слове пока не было гласных
                has_vowels = false;
            }
        }
        else
        {
            if( isalpha( *str ) )
                prob += prob_table[ toupper(*str) - 'A' ];
 
            if( isvowel( *str ) )
                has_vowels = true;
        }
 
        prev = *str;
        str++;
    }
 
    return prob;
}
 
int main()
{
    char *str1 = "hello world";
    char *str2 = "aaloha";
    char *str3 = "no hell below us, above us only sky";
    char *str4 = "hello bwvzxt world";
 
    cout << "str1: " << str1 << " - " << count_prob( str1 ) << '\n'
         << "str2: " << str2 << " - " << count_prob( str2 ) << '\n'
         << "str3: " << str3 << " - " << count_prob( str3 ) << '\n'
         << "str4: " << str4 << " - " << count_prob( str4 ) << '\n';
 
    return 0;
}
Удачи.
 
Текущее время: 08:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru