[C] Wariacje i kombinacje

aGabi94
Użytkownik
Użytkownik
Posty: 230
Rejestracja: 5 mar 2014, o 18:52
Płeć: Kobieta
Lokalizacja: Kraków
Podziękował: 60 razy

[C] Wariacje i kombinacje

Post autor: aGabi94 »

Czy mógłby mi ktoś wytłumaczyć na jakichś przykładowych liczbach działanie tego programu :

Kod: Zaznacz cały

#include <stdio.h>
#include <math.h>
#include <conio.h>
int n,k,l,A[11];
main()
{void Wariacje(int n,int k, int l); 
void Wypisz(int k,int [11]);
void Kombinacje(int n, int k, int l);
printf("Podaj liczbe n
");
scanf("%d", &n);
printf("Podaj liczbe k
");
scanf("%d", &k);
//Wariacje(n,k,1);//
A[0]=0;
Kombinacje(n,k,1);
getch();
}
void Wariacje(int n,int k, int l)
{void Wypisz(int n,int X[11]);
int i;
if(l>k)
Wypisz(k,A);
else
for(i=1;i<=n;i++)
{A[l]=i;
Wariacje(n,k,l+1);
}

} 
void Wypisz(int n,int A[11])
{
for(int i=1;i<=n;i++)
{
printf("%d,",A[i]);
}
printf("
");
}
void Kombinacje(int n,int k, int l)
{
int i;
if(l>k)
Wypisz(k,A);
else
for(i=A[l-1]+1;i<=n;i++)
{A[l]=i;
Kombinacje(n,k,l+1);
}
}
Z góry dziękuje.
Ostatnio zmieniony 6 maja 2014, o 22:47 przez Afish, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
kalwi
Użytkownik
Użytkownik
Posty: 1931
Rejestracja: 29 maja 2009, o 11:58
Płeć: Mężczyzna
Lokalizacja: Warszawa
Podziękował: 145 razy
Pomógł: 320 razy

[C] Wariacje i kombinacje

Post autor: kalwi »

jeśli zrobisz formatowanie kodu, poprawisz rażące błędy typu brak int przed mainem to może ktoś pomoże

no i dalej, nie używamy conio.h, nie robimy prototypów w mainie a deklaracja stałych poza mainem też jest bez sensu tutaj.

-- 7 maja 2014, o 15:00 --

Poza tym program nigdy nie zadziała dobrze, bo jest w nim błąd merytoryczny (wartość l)

-- 7 maja 2014, o 15:08 --

A jeśli się odpowiednio poprawi to l (np mi 2 dobrze działa), to program wyświetla kombinacje liczb, np. dla n=5, k=5, l=2

Kod: Zaznacz cały

0,1,2,3,4,
0,1,2,3,5,
0,1,2,4,5,
0,1,3,4,5,
0,2,3,4,5,
ODPOWIEDZ