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

Нужны задачи для решения - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вывод строки с cout: IntelliSense: no operator "<<" matches these operands http://www.cyberforum.ru/cpp-beginners/thread1246733.html
ошибку выдает 3 IntelliSense: no operator "<<" matches these operands operand types are: std::ostream << std::string c:\Users\7777\Documents\Visual Studio...
C++ Не получается вставить элемент в вектор Почему нельзя таким образом вставить элемент в вектор? #include <vector> using SomeVeryLongNamedType = int; int main() { std::vector<SomeVeryLongNamedType> vec; ... http://www.cyberforum.ru/cpp-beginners/thread1246728.html
Отловить запуск процесса C++
Здравствуйте. Хотелось бы узнать как на c++ можно проверить включение программы(не нужно проверять включена ли она уже) программа должна реагировать на тот момент когда запускается конкретная...
C++ Приведите простой пример который будет считать сумму чисел
приведите простой пример который будет считать сумму чисел
C++ Реализовать контроль ввода и для цифр, и для букв http://www.cyberforum.ru/cpp-beginners/thread1246705.html
Здравствуйте! Проблема такая если при вводе данных вместо чисел пользователь вводит буквы, то программа как мне и надо пишет "Некоректный ввод", но если ввести букву которая может быть введена далее...
C++ Hello World и ошибка "This function or variable may be unsafe. Consider using strcpy_s instead" int str() { char str21; char str1 = "Hello World"; strcpy(str21, str1); cout << str1 << "\n" << strlen(str1) << "\n" << str21; return 0; } подробнее

Показать сообщение отдельно
Mr.X
Эксперт С++
3049 / 1694 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
26.08.2014, 09:26
Вода:
Кликните здесь для просмотра всего текста
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
/////////////////////////////////////////////////////////////////////////////////////////
//Одномерный массив рендомно заполняется (длина от 20) числами от 0 до 9. На этот массив 
//якобы сверху льется вода и останьте только в "ямах". Найти объем воды.
//Условия - можно использовать:
//- 1 одномерный массив
//- 1 Цикл
//- Неограничено переменных. (в рамках разумного)
/////////////////////////////////////////////////////////////////////////////////////////
#include <cstdlib>
#include <ctime>
#include <iostream>
/////////////////////////////////////////////////////////////////////////////////////////
int     main()
{
    const   int     VAL_MAX     =   9;
    const   int     ARR_SIZE    =   7;
 
    srand(unsigned(time(0)));
 
    int     arr[ ARR_SIZE ];
 
    std::cout   <<  std::endl
                <<  std::endl
                <<  std::endl;
 
    for( int  i = 0; i < ARR_SIZE; ++i )
    {
        arr[i] = rand() % VAL_MAX + 1;
    }
 
    for( int  i = 0; i < ARR_SIZE; ++i )
    {
        std::cout   <<  arr[i]
                    <<  '\t';
    }
 
    std::cout   <<  std::endl;
 
    bool    _1_is_active    =   false;
    bool    _2_is_active    =   false;
    bool    _3_is_active    =   false;
 
    bool    _4_is_active    =   false;
    bool    _5_is_active    =   false;
    bool    _6_is_active    =   false;
 
    bool    _7_is_active    =   false;
    bool    _8_is_active    =   false;
    bool    _9_is_active    =   false;
 
    int     _1_counter      =   0;
    int     _2_counter      =   0;
    int     _3_counter      =   0;
 
    int     _4_counter      =   0;
    int     _5_counter      =   0;
    int     _6_counter      =   0;
 
    int     _7_counter      =   0;
    int     _8_counter      =   0;
    int     _9_counter      =   0;
 
    int     water           =   0;
 
    for( int  i = 0; i < ARR_SIZE; ++i )
    {
        switch( arr[i] )
        {
        case    0   :   if( _1_is_active )    { ++_1_counter; }
        case    1   :   if( _2_is_active )    { ++_2_counter; }
        case    2   :   if( _3_is_active )    { ++_3_counter; }
 
        case    3   :   if( _4_is_active )    { ++_4_counter; }
        case    4   :   if( _5_is_active )    { ++_5_counter; }
        case    5   :   if( _6_is_active )    { ++_6_counter; }
 
        case    6   :   if( _7_is_active )    { ++_7_counter; }
        case    7   :   if( _8_is_active )    { ++_8_counter; }
        case    8   :   if( _9_is_active )    { ++_9_counter; }
        default     :   ;
        }//switch
 
        if( i > 0 )
        {
            switch( arr[i] )
            {
            case    9   :   if( _9_is_active    &&  arr[i - 1] < 9 )    { water += _9_counter;  _9_is_active = false; }
            case    8   :   if( _8_is_active    &&  arr[i - 1] < 8 )    { water += _8_counter;  _8_is_active = false; }
            case    7   :   if( _7_is_active    &&  arr[i - 1] < 7 )    { water += _7_counter;  _7_is_active = false; }
 
            case    6   :   if( _6_is_active    &&  arr[i - 1] < 6 )    { water += _6_counter;  _6_is_active = false; }
            case    5   :   if( _5_is_active    &&  arr[i - 1] < 5 )    { water += _5_counter;  _5_is_active = false; }
            case    4   :   if( _4_is_active    &&  arr[i - 1] < 4 )    { water += _4_counter;  _4_is_active = false; }
 
            case    3   :   if( _3_is_active    &&  arr[i - 1] < 3 )    { water += _3_counter;  _3_is_active = false; }
            case    2   :   if( _2_is_active    &&  arr[i - 1] < 2 )    { water += _2_counter;  _2_is_active = false; }
            case    1   :   if( _1_is_active    &&  arr[i - 1] < 1 )    { water += _1_counter;  _1_is_active = false; }
            default     :   ;
            }//switch
        }//if
 
        if( i < ARR_SIZE - 1 )
        {
            switch( arr[i] )
            {
            case    9   :   if( arr[i + 1] < 9 )    { _9_is_active  =   true;   _9_counter  =   0;  }
            case    8   :   if( arr[i + 1] < 8 )    { _8_is_active  =   true;   _8_counter  =   0;  }
            case    7   :   if( arr[i + 1] < 7 )    { _7_is_active  =   true;   _7_counter  =   0;  }
 
            case    6   :   if( arr[i + 1] < 6 )    { _6_is_active  =   true;   _6_counter  =   0;  }
            case    5   :   if( arr[i + 1] < 5 )    { _5_is_active  =   true;   _5_counter  =   0;  }
            case    4   :   if( arr[i + 1] < 4 )    { _4_is_active  =   true;   _4_counter  =   0;  }
 
            case    3   :   if( arr[i + 1] < 3 )    { _3_is_active  =   true;   _3_counter  =   0;  }
            case    2   :   if( arr[i + 1] < 2 )    { _2_is_active  =   true;   _2_counter  =   0;  }
            case    1   :   if( arr[i + 1] < 1 )    { _1_is_active  =   true;   _1_counter  =   0;  }
            default     :   ;
            }//switch
        }//if
    }//for
 
    std::cout   <<  water
                <<  std::endl;
 
    system("pause");
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru