Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Цикл Начал изучать C++ неделю назад. Теперь начал решать некоторые задачи. И возникли у меня некоторые сложности с циклами... Требуется ваша помощь... Задача: Переведите натуральное число из двоичной системы в десятичную (в двоичном числе не более 10 цифр). Решение: #include <iostream> using namespace std; https://www.cyberforum.ru/ cpp-beginners/ thread634878.html Работа с фс C++
Всем привет, мне необходимо посчитать количество файлов в директории и в зависимости от их количества разделить их на 4 или 8 папок. Я слышала есть библиотеки fstream и boost, но как правильно это сделать я так и не поняла.
C++ Конструктор копирования https://www.cyberforum.ru/ cpp-beginners/ thread634855.html
Всем привет. У меня такая проблема: есть некий класс, допустим Test: class Test { protected: int value; public : Test(int v)
C++ Случайные(псевдослучайные) числа https://www.cyberforum.ru/ cpp-beginners/ thread634835.html
Здравствуйте! Я знаю, что было много тем по поводу рандомных чисел в С++.Но всё же. Возникла у меня проблема с получением большого кол-ва случайных(точнее псвдослучайных) чисел, которые меньше 10.Я прекрасно знаю про функцию rand() % 10, и знаю то, что ПЕРЕД ней надо юзать функцию srand().Но вот в чём прикол.Я всегда юзал srand(time(NULL)) в паре с rand() % 10, но при генерации более 1 числа...
C++ Ошибка при вызове функции
В функции NewWords вызывается функция correct,при отладке я не могу войти в эту функцию,к тому же потом не выводится элементы объекта класса words и ID в программе на данный момент вызываются лишь 2 функции,которые я привёл #ifndef DICTIONARY_H #define DICTIONARY_H #include "StdAfx.h" class Dictionary { public:
C++ генерирую случайные числа https://www.cyberforum.ru/ cpp-beginners/ thread634827.html
srand(time(NULL)); rand()%10; Всем привет, генерирую случайные числа, подскажите, пожалуйста, почему при запуске приложения числа постоянно генерируются? Как можно сделать так, чтобы при каждом запуске приложение выводило только одно число? Спасибо большое!
C++ Как Увеличить шрифт элемента Edit Control Создал Візартом Edit Control но там слишком маленький шрифт. У меня программа через Edit выводит данные, для вывода использую SetDlgItemText(IDC_EDIT1,p->Weight); вот такое выражения, подскажите как сделать выводимые данные Больше. Добавлено через 29 минут С шрифтом разобрался теперь подскажите как сделать чтоб Надпись была по середине окно а не сверху Добавлено через 23 часа 47 минут... https://www.cyberforum.ru/ cpp-beginners/ thread634826.html Реализация расширенного класса Integer C++
Всем привет. Хочу реализовать аналог класса Integer в котором можно буде проводить операции с числами любой разрядности. Начал пока с написания функции сложения и вычитания. Возникли вопросы: 1)Можно ли числа хранить в строках? 2)В моей программе происходит ошибка в функции ReadStr(), когда происходит перевыделение памяти 2 раз. С перегрузкой оператор new пока незнаком и пытаюсь сделать...
C++ Объявление в структуре https://www.cyberforum.ru/ cpp-beginners/ thread634769.html
ругается на объявление батона struct StructurClientData { Button^ button; unsigned int data_ip4; DWORD system_id; HANDLE system_handle; SOCKET socket_client; State_Client_Connect client_state; sockaddr_in sockaddr_client;
C++ SEHException при заполнении вектора тут такое дело... если в кратце, есть вектор summa, заполняю его нулями и вылезает SEHException. Я так понимаю, ему не хватает памяти, или я выхожу куда то за пределы? vector <double> summa; double MaxValue=78643199; ... summa.clear(); summa.resize(MaxValue,0); //заполняю нулями Неужели что то банальное и глупое? https://www.cyberforum.ru/ cpp-beginners/ thread634760.html
Влияет ли на производительность C++
Влияет ли на производительность определение(тоесть реализация) функций внутри класса, а также использование вложенных классов?
C++ удаление слова из строки https://www.cyberforum.ru/ cpp-beginners/ thread634735.html
Написать программу, которая удаляет слово из некоторого количества слов в строке, в котором гласных букв меньше чем согласных.Заранее благодарен
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
13.08.2012, 05:31 0

Комбинаторика! Число сочитаний - C++ - Ответ 3352831

13.08.2012, 05:31. Показов 4889. Ответов 40
Метки (Все метки)

Ответ

Цитата Сообщение от mr_free Посмотреть сообщение
Да, и еще почему в данных задачах не стоит использовать рекурсию?
Стека жрёт много. Смотрим количество сочетаний без возврата и без учёта порядка. Рекурсия+ цикл:
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
#include <windows.h>
#include <stdio.h>
#define kolichestvo_chisel 9
#define kolichestvo_drugih_chisel 7
using namespace std;
 
int kk= 0;
 
 
 
void func_recurs (int nomer_funktsii, int nomer_elementa, int kol_ostavshihsa_chisel,  int* stroka, int* array) {
 
 printf ("%x\n", &nomer_funktsii);
 kk++;
 
 for (int i= nomer_elementa; i< kolichestvo_chisel- kol_ostavshihsa_chisel+ 1; i++) {
 
  if (nomer_funktsii< kolichestvo_drugih_chisel- 1) {
   array [nomer_funktsii]= stroka [i];
   for (int j= 0; j< kk; j++)
    printf (" ");
   func_recurs (nomer_funktsii+ 1, i+ 1, kol_ostavshihsa_chisel- 1, stroka, array);
  }
 
  else {
   array [nomer_funktsii]= stroka [i];
//   for (int i= 0; i< kolichestvo_drugih_chisel; i++)
//    printf ("%d ", array [i] );
//    printf ("\n");
  }
 }
 
 kk--;
}
 
 
int main () {
 
 int stroka []= {21, 34, 20, 12, 3, 2, 7, 67, 56};
 int array [kolichestvo_drugih_chisel];
 func_recurs (0, 0, kolichestvo_drugih_chisel, stroka, array);
 
 
 
 getchar ();
 return 0;
}
И вывод смотри, эти ступеньки- эта глубина рекурсии. И как видишь, углубление происходит всё дальше и дальше в стек и однажды он переполнится (вправо по ступенькам)
...Я сделал, чтобы глубина рекурсии была не больше kolichestvo_drugih_chisel. Это фигня, это очень мало. Стек не переполнится. Но ведь это я СДЕЛАЛ. (Видишь, использовал ЦИКЛ+ рекурсию). А можно было бы и не сделать, обойтись одной рекурсией и пиши пропало, ступеньки вылетели бы туда непонятно куда и крах программы.

И да, время отладки она вылетала у меня не раз и не два из-за переполнения стека (ошибка трудноуловимая). А если ты вместо рекурсии используешь цикл, одной проблемой меньше.

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

Комбинаторика, вычислить число сочетаний C(N, K)
When I was in army, sometimes (about once a week) our unit was faced a charming alternative: ...

Комбинаторика.Подсчитать число размещений с повторениями
#pragma hdstop #pragma argsused #include &lt;math.h&gt; #include &lt;tchar.h&gt; #include &lt;iostream.h&gt;...

Нажатие сочитаний клавиш
Сделал контроллер для управления персонажем и заметил, что не работает сочетание клавиш...

Комбинаторика. Найти число целых положительных чисел.
Найти число целых положительных чисел, не превосходящих 1000 и не делящихся ни на одно из чисел: ...

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

Программа для вычисления числа сочитаний из N по M
незнаю как сделать

Комбинаторика.
Помогите пожалуйста решить задачи, на этом предмете не был ни разу по болезни, препод сказал...

Комбинаторика
Доброго всем времени суток!Помогите пожалуйста с решением такой задачи.Дана последовательность...

Комбинаторика
Мама испекла Серёже на день рождения большой и вкусный круглый торт и поручила ему самому его...

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