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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
saxorok
0 / 0 / 0
Регистрация: 25.02.2013
Сообщений: 6
#1

Существует ряд чисел. Вместо "?" вставить символы - C++

23.04.2013, 17:30. Просмотров 357. Ответов 3
Метки нет (Все метки)

Пожалуйста помогите дали задачу по циклам решить не могу.
вот условие :
существует ряд чисел ((((1?2)?3)?4)?5)?6 который равен 35 ;
надо вместо "?" вставить символы (-./.*.+);
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.04.2013, 17:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Существует ряд чисел. Вместо "?" вставить символы (C++):

Создать список из целых чисел. После каждого элемента, равного "х" вставить элемент, равный "у" - C++
Задача со стеком. Создать список из целых чисел. После каждого элемента,равного х вставить элемент,равный у. какое условие нужно поменять...

Как использовать символы из русского алфавита, а так же символы типа "█" "░" и т.д.? - C++
Как использовать символы из русского алфавита, а так же символы типа "█" "░" и т.д.?

Вставить пробел после каждого символа "." "," "!" или "?", если за этими символами не следует пробел - C++
Вставить пробел после каждого символа "." "," "!" или "?", если за этими символами не следует пробел (т. е. следует любой символ, кроме...

После каждого знака препинания (".", ",", ";") вставить в строку пробел, если там его нет - C++
Выполните задания с использованием библиотечного класса string. Даны строка S. Необходимо после каждого знака препинания (".", ",",...

В заданом тексте заменить все символы ":" на символы "-" и наоборот - C++
В заданом тексте заменить все символы ":" на символы "-" и наоборот.

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно" - C++
В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно". Я так...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
23.04.2013, 18:57 #2
Лобовая атака
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
#include <iostream>
 
namespace my
{
    typedef int (*oper) (int, int );
 
    int sum( int a, int b )
    {
        return a + b;
    }
 
    int sub( int a, int b )
    {
        return a - b;
    }
 
    int mul( int a, int b )
    {
        return a * b;
    }
 
    int div( int a, int b )
    {
        return a / b;
    }
}
 
int main()
{
    my::oper opersf[] = { my::sum, my::sub, my::mul, my::div };
    char opersc[] = { '+', '-', '*', '/' };
 
    const int operCnt = 4;
    
    for( int i1 = 0; i1 < operCnt; ++i1 )
        for( int i2 = 0; i2 < operCnt; ++i2 )
            for( int i3= 0; i3 < operCnt; ++i3 )
                for( int i4 = 0; i4 < operCnt; ++i4 )
                    for( int i5 = 0; i5 < operCnt; ++i5 )
                    {
                        int value = opersf[i1](1,2);
                        value = opersf[i2]( value, 3);
                        value = opersf[i3]( value, 4);
                        value = opersf[i4]( value, 5);
                        value = opersf[i5]( value, 6);
 
                        if( value == 35 )
                        {
                            std::cout << "((((1" << opersc[i1] << "2)" << 
                                opersc[i2] << "3)" << opersc[i3] << "4)" << 
                                opersc[i4] << "5)" << opersc[i5] << "6=" << value << std::endl;
                        }
                    }
 
    system("pause");
    return 0;
}
Код
((((1+2)+3)*4)+5)+6=35
((((1+2)*3)*4)+5)-6=35
((((1*2)*3)*4)+5)+6=35
saxorok
0 / 0 / 0
Регистрация: 25.02.2013
Сообщений: 6
23.04.2013, 19:33  [ТС] #3
Спасибо а можно с Коментами а то я (дно ) не чего не понимаю )
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
23.04.2013, 21:44 #4
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>
 
namespace my // Добавляем пространство имен, т.к. существует уже стандартная функция div() 
{
    typedef int (*oper) (int, int ); // Заводим тип - указатель на функцию, принимающую два целых и возвращающее целое
 
    int sum( int a, int b ) // Сложение
    {
        return a + b;
    }
 
    int sub( int a, int b ) // Вычитание
    {
        return a - b;
    }
 
    int mul( int a, int b ) // Умножение
    {
        return a * b;
    }
 
    int div( int a, int b ) // Деление
    {
        return a / b;
    }
}
 
int main()
{
    my::oper opersf[] = { my::sum, my::sub, my::mul, my::div }; // Массив функций + - * /
    char opersc[] = { '+', '-', '*', '/' }; // Символы действий
 
    const int operCnt = 4;
    
    // Перебираем все возможные операции
    for( int i1 = 0; i1 < operCnt; ++i1 )
        for( int i2 = 0; i2 < operCnt; ++i2 )
            for( int i3= 0; i3 < operCnt; ++i3 )
                for( int i4 = 0; i4 < operCnt; ++i4 )
                    for( int i5 = 0; i5 < operCnt; ++i5 )
                    {
                        int value = opersf[i1](1,2); // Начинаем вычислять значение...
                        value = opersf[i2]( value, 3);
                        value = opersf[i3]( value, 4);
                        value = opersf[i4]( value, 5);
                        value = opersf[i5]( value, 6); // ... вычислили
 
                        if( value == 35 ) // Если равно 35, то выводим формулу
                        {
                            std::cout << "((((1" << opersc[i1] << "2)" << 
                                opersc[i2] << "3)" << opersc[i3] << "4)" << 
                                opersc[i4] << "5)" << opersc[i5] << "6=" << value << std::endl;
                        }
                    }
 
    system("pause");
    return 0;
}
Надеюсь, всё понятно
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.04.2013, 21:44
Привет! Вот еще темы с ответами:

Сколько существует способов расставить между цифр знаки "+" и "-" - C++
Вот сама задача - {удалено} Не могу сделать норм перебор

Не существует подходящей функции преобразования из "std::string" в "int" - C++
Я только начинаю изучать язык c++ по книге &quot;Язык программирования С++. Базовый курс 5-е изд 2014(Стэнли Б. Липпман)&quot;. Упр.3.17 ...

Удалить все символы "*", а символы, не являющиеся "*", удвоить - C++
Составить программу, которая вводит строку символов, выполняет ее обработку и затем выво- дит результаты. Удалить все символы &quot;*&quot;, а...

Создать класс комплексных чисел и ввести операции: "+", "-", "*", "/". - C++
пожалуйста-помогите написатьпрограмму!!! сижу на экзамене!!! вот само задание: создать класс комплексных чисел и ввести операции: &quot;+&quot;,...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
23.04.2013, 21:44
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru