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

Вставить между цифрами 1, 2,..., 8, 9 в данном порядке, знак одной из 4-х арифметических операций так, чтобы результат восьми послед-х операций =100 - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Удалить из символьного одномерного массива повторяющиеся символы http://www.cyberforum.ru/cpp-beginners/thread308377.html
пожалуйста подскажите!!!! как удалить из символьного одномерного массива повторяющиеся символы?
C++ структура создать структуру man в которую входят фамилия, адрес и возраст. в структуру man входит структура student в которой переменные: дисциплина, и еще 2 параметра. Обратится к полю структур. http://www.cyberforum.ru/cpp-beginners/thread308371.html
C++ использование указателей
не знал как тему даже назвать :-class CTest { public: int x; void xpp() { x++; } };
C++ Потоковый ввод\вывод...
Создать файл действительных чисел с именем МАТ.FFF, записать в него матрицу действительных чисел М размерности n*n . Не считывая матрицу в память, просмотреть элементы k-того столбца. Если просматриваемые элменты меньше заданного значения k, то дописать их в конец этого файла, записав на их место нули. Напечатать количество записей в полученном файле, элементы просматриваемого столбца ...
C++ Стек: изменения в расписании движения поездов http://www.cyberforum.ru/cpp-beginners/thread308342.html
Помогите пожалуйста разобраться в задаче!!!!! Разработать приложение, работающее со стеком, содержащим данные об изменениях в расписании движения поездов. Элементом стека является структура, содержащая не менее 4-ех элементов. Выполнить добавление, удаление, редактирование элемента стека, рапечетка всего стека. Или расскажите как создать стек и как с ним работать)))
C++ Есть ли в данном массиве элемент, равный заданному числу? Если есть, то вывести номер одного из них. Есть ли в данном массиве элемент, равный заданному числу? Если есть, то вывести номер одного из них. Напишите программу пожалуйста,очень надо)))Заранее благодарен)) Добавлено через 12 минут эта задача на одномерный массив. подробнее

Показать сообщение отдельно
grizlik78
Эксперт C++
 Аватар для grizlik78
1882 / 1414 / 101
Регистрация: 29.05.2011
Сообщений: 2,958
30.05.2011, 19:27     Вставить между цифрами 1, 2,..., 8, 9 в данном порядке, знак одной из 4-х арифметических операций так, чтобы результат восьми послед-х операций =100
Ну, если тебя за мой код не побьют, то вот
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
#include <iostream>
 
using namespace std;
 
enum { op_plus=0, op_minus, op_mul, op_div };
char op_sym[4] = { '+', '-', '*', '/' };
 
float func(int opcode, int a, int b)
{
    float result = a;
    switch(opcode)
    {
        case op_minus:
            result -= b;
            break;
        case op_mul:
            result *= b;
            break;
        case op_div:
            result /= b;
            break;
        case op_plus:
        default:
            result += b;
    }
    return result;
}
 
float get_result(int nums[9], int opcodes[8])
{
    float result = nums[0];
    for (int i = 0; i < 8; ++i)
        result = func(opcodes[i], result, nums[i+1]);
    return result;
}
 
void print_formula(int nums[9], int opcodes[8])
{
    for (int i = 0; i < 8; ++i)
        cout << nums[i] << " " <<op_sym[opcodes[i]] << " ";
    cout << nums[8] << " = " << get_result(nums, opcodes) << endl;
}
 
bool next_combination(int opcodes[8])
{
    int i = 0;
    while (i < 8 && opcodes[i] == op_div)
    {
        opcodes[i++] = op_plus;
    }
    if (8 == i)
        return false;
    ++opcodes[i];
    return true;
}
 
int main()
{
    int opcodes[8] = { 0, 0, 0, 0, 0, 0, 0, 0 };
    int nums[9] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
    do {
        if ( get_result(nums, opcodes) == 100 )
            print_formula(nums, opcodes);
    } while (next_combination(opcodes));
    return 0;
}
 
Текущее время: 02:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru