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

книга прата с. глава 6 задание 7 - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Задача. Из листа клетчатой бумаги удалили некоторые клетки http://www.cyberforum.ru/cpp-beginners/thread1009135.html
Из листа клетчатой бумаги размером M*K клеток удалили некоторые клетки. Подсчитать, на сколько кусков распадется оставшаяся часть листа. Пример: Если из шахматной доски удалить все клетки одного...
C++ Найти самое короткое слово в строке работа со строками Найти самое короткое слово в веденной строке http://www.cyberforum.ru/cpp-beginners/thread1009129.html
C++ Вычислить с заданной точностью квадратный корень введенного числа X
7. Вводится число X>1 и точность e. Вычислить с заданной точностью квадратный корень введенного числа X, не пользуясь функцией SqRt (один из самых простых методов решения этой задачи - деление...
как построить матрицу C++
Ребят,подскажите..вот у меня создается и заполняется рандомно матрица,в ней ищется максимальный элемент,я ввожу координаты. мне надо получается,создать вторую такую же матрицу,но только максимальный...
C++ Счастливые билеты http://www.cyberforum.ru/cpp-beginners/thread1009118.html
Знаю, что вопрос довольно распространенный и решений можно найти много, но у меня ограниченное задание: нужно найти сумму всех счастливых билетиков(транспортные билеты, состоящие из 6 цифр, в...
C++ Нужне совет по реализации алгоритма a1, (a1+a2), (a1+a2+a3), ... , (a1+a2+...aN) подробнее

Показать сообщение отдельно
alsav22
5425 / 4820 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
16.11.2013, 05:25
Цитата Сообщение от spezialist Посмотреть сообщение
проблема состоит в том что программа будет завершатся не как должна. cin.getline() завершит чтение после первого попавшегося символа q . те остановится на чтении слова "quietly".
Зачем здесь, вообще, getline()?
Сказано же:
Цитата Сообщение от spezialist Посмотреть сообщение
котрая читает слова по одному за раз
А вы строчное чтение используете. Читайте, в цикле, слова (cin >>) и анализируйте, пока не попадётся слово из одной q.

Добавлено через 30 минут
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
#include <iostream>
#include <cctype>
 
int main ()
{
    using namespace std;
    
    int glasnije_num = 0;
    int soglasnije_num = 0;
    int others = 0;
    char glasnije[10] = {'A', 'E', 'I', 'O', 'U', 'a', 'e', 'i', 'o', 'u'};
    char soglasnije[42] ={'B', 'C', 'D', 'F', 'G', 'H', 'j', 'K', 'L', 'M', 'N', 'P', 'Q', 'R', 'S', 'T', 'V', 'W', 'X', 'Y', 'Z',
        'b', 'c', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'm', 'n', 'p', 'q', 'r', 's', 't', 'v', 'w', 'X', 'Y', 'Z',}; 
    char ch[100];
 
    cout << "Enter words (q, to quit): ";
    
    int flag;
    while (cin >> ch)
    {
        if (!strcmp(ch, "q")) break;
        
        flag = 0;
        if (isalpha(ch[0]))
        {
            for (int b = 0; b != 42; ++b)
            {
                if (ch[0] == soglasnije[b])
                {
                    ++soglasnije_num;
                    flag = 1;
                    break;
                }
            }
            if (flag == 1) continue;
            
            for (int b = 0; b != 10; ++b)
            {
                if (ch[0] == glasnije[b])
                {
                    ++glasnije_num;
                    flag = 1;
                    break;
                }
            }
            if (flag == 1) continue;
        }
        else ++others;
    }
    
    cout << "Glasnije: " << glasnije_num << endl;
    cout << "Soglasnije: " << soglasnije_num << endl;
    cout << "Others: " << others << endl;
    
    cin.get();
    cin.get();
    return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru