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

Найти все варианты размещения знаков операций +,-,* на месте вопросов в выражении 1?2?3?4?5?6?7?8?9=100 - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Сбрасывается форматирование std::stringstream при очистке потока http://www.cyberforum.ru/cpp-beginners/thread1218354.html
Имеем объект класса std::stringstream используемый для форматированного вывода. Перед очередным выводом производится очистка потока. После очистки все форматирование сбрасывается. Как бы узнать - нормально ли это? Borland C++ Builder 6 (если это влияет). std::stringstream ss; ss.width(2); ss.setf(std::ios::right, std::ios::adjustfield); ss.fill('0'); ss << 1; ...
C++ Как записывать данные в конец файла Вот код: #include "stdafx.h" #include <fstream> #include <string> #include <iostream> #include <iomanip> using namespace std; int main(int argc, char* argv) {//1 http://www.cyberforum.ru/cpp-beginners/thread1218272.html
C++ Где ошибка в передаче указателя на массив?
через указатель на массив хочу в массив записать значние -1 или +1. гдето ошибка в синтаксисе. ПРошу помочь. ПОдозреваю что ошибка в самом вызове функции... А конкретней я не правильно из main`a вызываю нужную функцию. НО значения в определении функции и инициализации функции принимаю правлиьно. #include <iostream> #include <stdlib.h> using namespace std; int InputLocPl1(int gor, int...
Как автоматически создать несколько переменных с разными именами? C++
Товарищи программисты, есть строка с данными и в ней присутствуют точки, помогите пожалуйста написать цикл Который бы присваивал каждой позиции этих точек переменную с новым именем. Заранее благодарю.
C++ Наследование от std::ostream http://www.cyberforum.ru/cpp-beginners/thread1218253.html
Имеем код: #include <iostream> class DebugMessage : public std::ostream { public: DebugMessage() : std::ostream( std::cout.rdbuf() ) { } virtual ~DebugMessage() { *this << std::endl; } };
C++ Подсчитать в строке количество символов, меньших символа "К" Ввести строку символов. Подсчитать количество символов меньше символа «К». Вывести результат на экран. Помогите решить, пожалуйста. подробнее

Показать сообщение отдельно
Sonance
6 / 6 / 3
Регистрация: 15.02.2013
Сообщений: 55
27.06.2014, 16:29     Найти все варианты размещения знаков операций +,-,* на месте вопросов в выражении 1?2?3?4?5?6?7?8?9=100
На каждой позиции возможны 3 варианта действий, при условии что приоритет выполнения действий не важен и все действия выполняются слева направо:
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
#include <iostream>
 
 
int mass[9]={1,2,3,4,5,6,7,8,9}, Sf, Ss;
 
 
int Do(int znak, int a, int b, int &S){
    if(znak == 0){
        S=a-b;
    }
    if(znak == 1){
        S=a+b;
    }
    if(znak == 2){
        S=a*b;
    }
    return 0;
}
char Znak(int i){
    char Znak;
    if(i == 0){
        Znak='-';
    }
    if(i == 1){
        Znak='+';
    }
    if(i == 2){
        Znak='*';
    }
    return Znak;
}
void main(){
    int count(0);
    std::cout<<"Varianti podstanovki znakov pri kotorom virazhenie ravno 100:"<<"\n";
    for(int a(0); a<3; a++){
        for(int b(0); b<3; b++){
            for(int c(0); c<3; c++){
                for(int d(0); d<3; d++){
                    for(int e(0); e<3; e++){
                        for(int f(0); f<3; f++){
                            for(int g(0); g<3; g++){
                                for(int h(0); h<3; h++){
                                    Do(e, mass[0], mass[1], Sf);
                                    Ss=0;
                                    Do(b, Sf, mass[2], Ss);
                                    Sf=0;
                                    Do(c, Ss, mass[3], Sf);
                                    Ss=0;
                                    Do(d, Sf, mass[4], Ss);
                                    Sf=0;
                                    Do(e, Ss, mass[5], Sf);
                                    Ss=0;
                                    Do(f, Sf, mass[6], Ss);
                                    Sf=0;
                                    Do(g, Ss, mass[7], Sf);
                                    Ss=0;
                                    Do(h, Sf, mass[8], Ss);
                                    Sf=0;
                                    if(Ss == 100){
 
                                        std::cout<<"1"<<Znak(a)<<"2"<<Znak(b)<<"3"<<Znak(c)<<"4"<<Znak(d)<<"5"<<Znak(e)<<"6"<<Znak(f)<<"7"<<Znak(g)<<"8"<<Znak(h)<<"9"<<" = 100"<<"\n";
                                        count++;
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
std::cout<<"Kol-vo variantov podstanovki znakov pri kotorom virazhenie ravno 100"<<"\t"<<count<<"\n";
system("pause");
 
}
 
Текущее время: 09:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru