Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ допустил ошибку, в перезагрузке операций https://www.cyberforum.ru/ cpp-beginners/ thread578807.html
На первыйвзгляд код чистый и ошибок быть не должно, вот код: #include <iostream> #include <iomanip> #include <windows.h> #include <math.h> using namespace std; char bufRus;
C++ Ошибка записи
Помогите найти ошибку записи во 2 файл... уже запарился искать #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <errno.h> #include <unistd.h> #include <iostream> #include <stdio.h>
C++ Рудиментарный класс String https://www.cyberforum.ru/ cpp-beginners/ thread578775.html
Этот код из учебника Либерти, проверялся уже не единожды, из-за этого не могу закончить тему массивов... Помогите разобраться, пожалуйста, в чем здесь ошибка: //Использование класса String #include <iostream> #include <conio.h> #include <string.h> using namespace std; //Рудиментарный класс String
C++ Сумма и произведение элементов массива https://www.cyberforum.ru/ cpp-beginners/ thread578765.html
Пожалуйста, помогите, написать программу: В одномерном массиве, состоящем из n вещественных элементов, вычислить: • сумму положительных элементов массива; • произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами. Упорядочить элементы массива по убыванию.
C++ Найти максимальный элемент
В матрице размером m*n найти максимальный элемент каждой строки. Результат получить в виде вектора размером n.
C++ Найти сумму элементов в тех столбцах, которые содержат хотя бы один отрицательный элемент Найти сумму элементов в тех столбцах, которые содержат хотя бы один отрицательный элемент. #include "stdafx.h" #include <iostream.h> #include <windows.h> char bufRus; char* Rus(const char* text) { CharToOem(text, bufRus); https://www.cyberforum.ru/ cpp-beginners/ thread578748.html
C++ Обход графа: в глубину, ширину. Алгоритм Прима Есть реализация графа через матрицу смежности. Но у меня получился ступор при реализации алгоритмов обхода и алгоритма Прима. Растолкуйте, кто может, как реализовать. Ниже привожу написанный класс взвешенного, неориентированного графа. //CGraph.h class CGraph { public: CGraph(): count(0),count_rib(0), matrix_val(NULL) {} CGraph(int _count); // конструктор (_count - количество вершин) https://www.cyberforum.ru/ cpp-beginners/ thread578740.html C++ Окно нестандартной конфигурации
Здравствуйте, нужен пример программы в ОС Windows, создающей (только с помощью системных функций) окно нестандартной конфигурации. Заранее спасибо.
C++ Разработать алгоритм и программу для определения кратчайшего слова в тексте Разработать алгоритм и программу для определения кратчайшего слова в тексте https://www.cyberforum.ru/ cpp-beginners/ thread578736.html C++ Структурная программа Извиняюсь, что на украинском языке В языке С++ крайне слаб, каким образом решается она? Данные таблицы заносятся в момент ввода? В общем, требуется помощь https://www.cyberforum.ru/ cpp-beginners/ thread578728.html
Шифрование текста. XOR C++
Помогите с шифрование текста...с числоми вроде получалось. Что значит эта ошибка и как ее испрвить?..) #include <iostream> #include <string> #include <cmath> using namespace std; int main() { string Text="Hello World"; for (int i=1;i<=Text.length();i++) {
C++ Составить программу, которая меняет порядок расположения элементов в массиве на обратный для линейных таблиц Х [12] и Y [10] https://www.cyberforum.ru/ cpp-beginners/ thread578717.html
Составить программу, которая меняет порядок расположения элементов в массиве на обратный для линейных таблиц Х и Y . Инициализацию, вывод элементов массива, их обработку организовать в отдельных функциях.
4 / 4 / 1
Регистрация: 08.11.2011
Сообщений: 99
0

Разложение натурального положительного числа на слагаемые? - C++ - Ответ 3049165

18.05.2012, 16:41. Показов 4016. Ответов 2
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите... Нужно разложить число на слагаемые... Причем, условия такие: слагаемые должны быть в диапазоне от 1 до 10 (соответственно разлагаемое число не больше 55), слагаемые не должны повторяться, и начинать желательно с больших слагаемых, но при этом чтобы все-таки сохранялась разбросанность(рандомность)!
Вот я сам чего-то наваял, но код глючный и не всегда работает так как хотелось бы! Ищу другие идеи хотя бы!!!
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
#include "stdafx.h"
#include <iostream>
#include <ctime>
 
using namespace std;
 
int SaveArray[15];
 
void PartitionOF( int buf );
int gen_random( int range_min, int range_max );
int PartitionArray( int number, int i ); //Для нахождения числа в массиве
void OutputArray( int u );
int amount(int buf, int i);
void DeleteOne(int i); //Удаляет последнее число из массива
void addNumber( int i );
void SortArray( int i );
 
int _tmain(int argc, _TCHAR* argv[])
{
    cout << "Vvedite chislo dlya razlojeniya: ";
    int number; cin >> number;
    PartitionOF(number );
 
    return 0;
}
 
void PartitionOF( int buf )
{
    srand(time(NULL) );
    int gener;
    int i = 0;
    int k = 1; //Для учета суммы
    cout << "\nMi tyta! )" << endl;
 
    if( buf <= 10 ){
        gener = 1; 
    }else if( (buf > 10) & (buf <= 19) ){
        gener = gen_random( 2, 4 ); //Генерируем максимальное число слагаемых
    }else if( (buf > 19) & (buf <= 34) ){
        gener = gen_random( 4, 7 ); //Генерируем максимальное число слагаемых
    }else if( (buf > 34) & (buf <= 45) ){
        gener = gen_random( 7, 8 ); //Генерируем максимальное число слагаемых
    }else if( buf > 45 ){
        gener = gen_random( 8, 9 ); //Генерируем максимальное число слагаемых
    }else if( buf == 55 ){
        gener = 10;
    }else{ cout << "FUCK!!!" << endl; exit(1);}
 
    cout << "Maximual`noe chislo slagaemix :"<< gener << endl;
 
    while( (k != 0) & (gener != i) ) //До тех пор пока сумма не будет равна введенному числу
    {
        addNumber( i );
        i++;
 
        if( PartitionArray( SaveArray[i-1], i ) == 0){ //проверяем есть ли число в массиве
            DeleteOne( i );
            i = i - 1;
        }
        
        if( amount( buf, i ) == 2 ){
            cout << "Ydalyaem poslednee chislo!" << endl;
            DeleteOne( i );
            i = i - 1;
        }
        k = amount( buf, i );
        cout << "\n GENRE = " << gener <<"    i = " << i << endl;
        if( (k != 0) & (gener == i) )
        {
            cout<<"Tut: !!!!"<<endl;
            k = 1;
            i = i + 1;
            while( i != 0 ){
                DeleteOne( i );
                i--;
            }
            OutputArray( i );
        }
    }
    
    OutputArray( i );
    SortArray( i );
    OutputArray( i );
}
 
int gen_random( int range_min, int range_max ) {
 if ( range_min > range_max ) {
    cout << "Vi vveli nevernii diapazon!" << endl;
    int temp = range_max;
    range_max = range_min;
    range_min = temp;
} 
return range_min+rand()%( range_max - range_min+1 );    
}
 
void OutputArray(int u)
{
    int sum = 0;
    for(int j = 0; j < u; j++)
    {
        cout << "Znachenie [" << j << "]:" << SaveArray[j] << endl;
        sum = sum + SaveArray[j];
    }
    cout << "Symma:  " << sum << endl;
}
 
int PartitionArray( int number, int i )
    //Возвращает 1 если число уже есть в массиве
{
    int l = 0;
    for( int j = 0; j <= i; j++){
        
        if( SaveArray[j] == number ) l++;
    }
    if ( l == 1 ) return 1;
    else return 0;
}
 
int amount(int buf, int i)
{
    int sum = 0;
    for(int j = 0; j < i; j++){
        sum = sum + SaveArray[j];
    }
    cout << "Sum = " << sum << endl;
    if( sum == buf ){ return 0; }
    if( sum > buf ){ return 2; }
    return 1;
}
 
void DeleteOne(int i)
{
    for(int j = 0; j < i; j++){
        SaveArray[j];
        if(j == i - 1 ){
            SaveArray[j] = 0;
        }
    }
}
 
void addNumber( int i )
{
    SaveArray[i] = gen_random( 1, 10 );
    cout <<"Generiryemoe SaveArray[" << i <<"] = " <<SaveArray[i]<<endl;
}
 
void SortArray(int i)
{
    int temp;
    for( int j = 1; j <= i; j++){
        for( int n = 1; n <= i-j; n++){
            if( SaveArray[n] > SaveArray[n+1] )
            {
                temp = SaveArray[n];
                SaveArray[n]=SaveArray[n+1];
                SaveArray[n+1]=temp;
            }
        }
    }
}


Вернуться к обсуждению:
Разложение натурального положительного числа на слагаемые? C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.05.2012, 16:41
Готовые ответы и решения:

Разложение натурального числа на слагаемые
Я не силен в математике, но математику надоело вести математические методы и он начал давать...

Разложение числа на слагаемые
Разложение числа на слагаемые - используется во многих задачах (как мне кажется - это тривиальная...

Разложение Натурального числа
Привет.Помогите пожалуйста решить задачу. Разложить натуральное число на простые множители...

Разложение натурального числа
Есть такая задача: Составить программу, которая выдаёт представление натурального числа в виде...

2
18.05.2012, 16:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.05.2012, 16:41
Помогаю со студенческими работами здесь

Разложение натурального числа
Помогите,пожалуйста, написать программу задание:написать программу,реализующую жадный...

Разложение натурального числа на множители
Здравствуйте. Условие: Найти все варианты разложения данного натурального числа на множители с...

Разложение натурального числа на простые множители
Выведите разложение натурального числа n &gt; 1 на простые множители. Простые множители должны быть...

Разложение натурального числа на два простых
Помогите написать программу... нужно разложить натуральное число на два простых всеми возможными...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru