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

Рекурсия в MVSC++ - C++

Восстановить пароль Регистрация
 
Inok
0 / 0 / 0
Регистрация: 21.05.2009
Сообщений: 3
21.05.2009, 16:05     Рекурсия в MVSC++ #1
Помогите мне пожалуйста!!!! Мне нужно составить прогу с помощью рекурсии. А задание такое:Дано n различных натуральных чисел. Вывести на экран перестановку всех этих чисел. Заранее спасибо!!!! и если можно с коментами.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.05.2009, 16:05     Рекурсия в MVSC++
Посмотрите здесь:

Структура в MVSC++ C++
Рекурсия C++
Рекурсия C++
РЕкурсия C++
C++ Рекурсия
рекурсия C++
Рекурсия C++
C++ Рекурсия
C++ Рекурсия
C++ Рекурсия
C++ Рекурсия

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Monte-Cristo
 Аватар для Monte-Cristo
2807 / 1372 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
21.05.2009, 18:49     Рекурсия в MVSC++ #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using namespace std;
 
int factorial(int x)
{   
    int fac=x;
    
    if (x>1) fac *= factorial(--x);
 
    return fac;
}
 
int main()
{
    int x;  
    cin >> x;
 
    cout << factorial(x) << endl;
 
    system("PAUSE");
    return 0;
}
Inok
0 / 0 / 0
Регистрация: 21.05.2009
Сообщений: 3
25.05.2009, 22:48  [ТС]     Рекурсия в MVSC++ #3
тут просто дано 3 числа или более , например1,2, 3.А надо вывести их перестановку на экран. Например:123,321,132,213,и т.д.

Добавлено через 3 часа 59 минут 18 секунд
Monte-Cristo, Да, спасибо все было правильно , но надо чтоб прога выводила все сообщения которые получились в результате перестановки чисел,например 123---321,132,231 и т.д.
zeubr
2 / 2 / 1
Регистрация: 17.05.2009
Сообщений: 22
02.06.2009, 12:39     Рекурсия в MVSC++ #4
#include <stdio.h>

void vs (int n, int per[]) /*описание функции распечатки массива*/

{
int i;
for (i=0; i<n; i++)
{
printf("%d ",per[i]);
}
printf("\n");
return;
}

void perestanovka(int m,int l,int per[]) /*описание функции перестановка*/

{
int i,j,b,har[l];

for (i=0; i<l; i++) /* создаём вспомогательный массив */
{har[i]=per[i];}

if (m==3)
{
for (j=0;j<3;j++)
{
for (i=0; i<2; i++)
{
b=har[i];
har[i]=har[i+1];
har[i+1]=b;
vs(l,har); /*вызов функции распечатки массива*/
}
}
return;
}

else
{
for (i=0;i<m;i++)
{
for (j=0;j<l;j++) {har[j]=per[j];} /* приведене массива к первоначальному виду */
har[m-1]=per[i]; /* перетасовка элементов массива*/
har[i]=per[m-1];
perestanovka(m-1,l,har);
}
}

return;
}

int main() /*собственно программа*/

{
int j,k;

printf("сколько будет чисел: ");
scanf("%d",&k);

int per[k]; /*описание массива чисел*/

for (j=0;j<k;j++) /*вводим массив с клавиатуры*/
{
printf("%d число: ",j+1);
scanf("%d", &per[j]);
}


perestanovka(k,k,per); /*вызов функции perestanovka*/


return 0;
}
Yandex
Объявления
02.06.2009, 12:39     Рекурсия в MVSC++
Ответ Создать тему
Опции темы

Текущее время: 15:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru