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

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

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

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

23.04.2013, 17:30. Просмотров 343. Ответов 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++
C++ Найти и заменить в строке все символы "а" на "b"
Удалить все символы "*", а символы, не являющиеся "*", удвоить C++
C++ Создать список из целых чисел. После каждого элемента, равного "х" вставить элемент, равный "у"
C++ Сколько существует способов расставить между цифр знаки "+" и "-"
Не существует подходящей функции преобразования из "std::string" в "int" C++
Почему вместо обратного слеша "\" выводит "¥" C++
В заданом тексте заменить все символы ":" на символы "-" и наоборот C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт С++
4383 / 3226 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
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
:)
Эксперт С++
4383 / 3226 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
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;
}
Надеюсь, всё понятно
Yandex
Объявления
23.04.2013, 21:44     Существует ряд чисел. Вместо "?" вставить символы
Ответ Создать тему
Опции темы

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