Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программу для поиска сочетаний в С. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Строки символов http://www.cyberforum.ru/cpp-beginners/thread237763.html
Здравствуйте. Задача такая: Язык С++ Дан двумерный массив из символов(10 строк по 80 символов). Нужно из каждой строки удалить 1 элемент, и вывести полученный текст на экран. Очень...
C++ Вычислить сумму чисел ряда Фибоначчи с 5 по 12 Здравствуйте, я только начинаю осваивать этот язык и очень нужна помощь. 1. Вычислить сумму чисел ряда Фибоначчи с 5 по 12. Распечатать числа ряда по 15-й и значение суммы. 2. Определите... http://www.cyberforum.ru/cpp-beginners/thread237762.html
C++ Чтение файла с массивом дробных чисел
Добрый день, до это момента долго шарил форум.. решил создать свою тему. Надо чтобы прорамма читала файл формата grd и заполненный дробными числами типа 123.35 352.646 634.235.... и заносила их в...
C++ Borland c++ Написать программу
Здравствуйте , вот нужно зделать Программу Текст помощи для не которой программы организован в виде линейного списка Каждая компонента текста помощи содержит термин (слово) и текст,содержащий...
C++ Создание массива указателей на векторы http://www.cyberforum.ru/cpp-beginners/thread237661.html
Доброго времени суток! Дано: н-дцать векторов(библиотека STL) Необходимо: создать массив указателей на эти вектора с целью дальнейшего их заполнения. Понимаю, что решение на поверхности,...
C++ Задержка вывода а подскажите как сделать типа цикл но чтобы другая цифра появлялась через секунду Для решения своих проблем создавайте отдельные темы, а не вклинивайтесь в чужие. подробнее

Показать сообщение отдельно
Shoovul
0 / 0 / 0
Регистрация: 21.12.2010
Сообщений: 2

Программу для поиска сочетаний в С. - C++

03.02.2011, 17:12. Просмотров 514. Ответов 1
Метки (Все метки)

Вот программа на С, должна выдавать сочетания из m по n, но почему-то получаются не все варианты. Как её можно исправить? Очень хотелось бы получить ответ до завтра. Писал не я, сразу предупреждаю. Заранее спасибо.


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
#include <stdio.h>
#include <stdlib.h>
 
void cnk(int* array, int* for_print, int arr_index, 
int print_index, int n, int m) {            
if (m > 0) {                        
int k;
for (k = arr_index; k < n - m + 1; ++k) {       
for_print[print_index] = array[k];
cnk(array, for_print, k + 1, print_index + 1, n, m - 1);  
}
} else if (m == 0) {                    
int k;
for (k = 0; k < print_index; ++k) {
printf("%d ", for_print[k]);                
}
printf("\n");
}
}
 
int main() {                    
int n, m, i;
int* array;
int* for_print;
printf("n = ");                     
scanf("%d", &n);
array = (int*)malloc(n * sizeof(int));          
printf("array of %d elements: ", n);
for (i = 0; i < n; ++i) {
scanf("%d", &array[i]);                 
}
printf("m = ");
scanf("%d", &m);
for_print = (int*)malloc(m * sizeof(int));      
cnk(array, for_print, 0, 0, n, m);          
free(for_print);                    
free(array);
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru