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

Что делать если в зависимости от вводимых параметров код должен меняться? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Нада посчитать log10 от положилельных элементов матрицы с pomoschu функций http://www.cyberforum.ru/cpp-beginners/thread385841.html
До этого я делал такую програму с помощью массивов,вот: // 123321.cpp : Defines the entry point for the console application. // #include"stdafx.h" #include<iostream> #include<clocale> #include<cmath> #include<conio.h> using namespace std; void main()
C++ нахождение палиндрома в строке Народ помогите плз!!! Строка состоит из слов. Найти все самые длинные слова-палиндромы и занести их в новую строку. Слова в новой строке должны разделяться ровно одним пробелом http://www.cyberforum.ru/cpp-beginners/thread385835.html
C++ как создать программу решающая систему уравнении
как создать программу решающая систему уравнении? Наткнулся на один сайт, где вбивая переменные решалась система, можно ли каким нибудь образом сделать копью такой программы на Си или хотя бы на С++ если можно то каким образом, просто стало интересно. Вот собственно этот сайт http://www.matrixcalc.org/slu.html (в правилах форума не нашел запрета на публикацию ссылок если что сори..) хотелось...
найдите ошибку.. C++
#include "stdafx.h" inline float diga (float k, b, n, c); {return k*b+n*c;} int _tmain(int argc, _TCHAR* argv) { float k, b, n, c; printf ("vvedite kollichestvo i stoimost tetradei\n"); scanf ("%f %f", &k, &b);
C++ Удаление парных и не парных елементов в контейнере http://www.cyberforum.ru/cpp-beginners/thread385810.html
Задача на удаление функцией erase() парных и не парных елементов из контейнеров. После компиляции программа на запуске выдает крит expression:("this->_Has_container",0). Нюхом чую где-то erase удалять несуществующий элемент пытается но где понять не могу. ошибка точно в цыклах с условием. Проблемныю часть зацытировал #include "stdafx.h" #include <iostream> #include <sstream>...
C++ Завершение програмы при выключение компьютера Здравствуйте! Пишу программу которая висит в трее и собственно не каких окон не выдаёт. Как грамотно завершить её работу если пользователь захочет выключить компьютер? (как отловить это событие ?) подробнее

Показать сообщение отдельно
Omnio
0 / 0 / 0
Регистрация: 19.07.2009
Сообщений: 41
17.11.2011, 18:29  [ТС]     Что делать если в зависимости от вводимых параметров код должен меняться?
Deviaphan Не спорю, что совет "Делайте не тем способом, что вы избрали изначально" тоже конечно совет. Но всё же хотя бы одно предложение ещё чуток более дельное написали бы чтоль.

Байт Реальное Спасибо. Фактически одно слово "сочетания" мне собственно уже помогло решить задачу. Ничего раньше про данный раздел комбинаторики не знал. Впредь буду.

ЛеЖиК) Решений с рекурсией не нашёл, ну да и изобретать собственными руками не пришлось.

Благодарю за ответы. В результате нашёл я наиболее толковый код вот тута:
http://www.cyberforum.ru/cpp-beginne...ead267307.html
iama В своё время постарался ) Ну вот собственно и адаптация его кода к моей программе:
(Правда для случаев когда N больше 9-ти с выводом на экран надобы что-то сделать по-приличнее. Но мне только значения нужны в конечном счёте, так что ... )

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
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
#include <cctype>
 
#include <iostream>
#include <vector>
#include <iterator>
#include <iomanip>
 
#include <conio.h>
 
using namespace std;
 
void main(void)
{
 
    int i=0, j=0;
    int h=0;
 
    cout <<"Enter N = ";
    cin >> h;
 
    vector <int> vec, res;
    vec.resize(h);
    res.resize(h);
 
    int i0=0, rs=0;
    for(i=0; i<h; i++)
    {vec[i] = i+1;}
 
    while(true)
    {
        rs = res.size();
        for(j=0; j<rs; j++)
        {res[j] = vec[j];}
 
        if(rs == h)
        {
            res = vec;
            cout <<rs<<": ";
            for(i=0; i<rs; i++)
            {cout << res[i];}
            cout <<"\n";
        }
 
        if (rs != h)
        {
            vector<int> combination_cur(rs, -1);
            for(int  ind = 0;;)
            {
                while(combination_cur[ind] == h - rs + ind)
                {if(--ind < 0) break;}
                if(ind < 0) break;
                
                int  diff = combination_cur[ind] + 1 - ind;
                
                for(;; ++ind)
                {
                    combination_cur[ind] = ind + diff;
                    if(ind == rs - 1) break;
                }
                for(int i=0; i<rs; i++)
                {res[i] = combination_cur[i]+1;}
 
                cout <<rs<<": ";
                for(i=0; i<rs; i++)
                {cout << res[i];}
                cout <<"\n";
            }
        }
 
        if(rs == 1)
        {break;}
 
        res.pop_back();
    }
    
system("pause");
 
}
 
Текущее время: 21:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru