#include void Print(unsigned int a[], unsigned int k) { unsigned int i; for (i=1;i<=k;i++) { printf("%d ",a[i]); } printf("\n"); } void main() { unsigned int n, k; unsigned int i, pozicija, start; unsigned int maxN = 50; unsigned int a[50]; char r; printf("Unesite broj n: "); scanf("%d", &n); printf("Unesite broj k: "); scanf("%d", &k); if((1 <= n) && (n <= maxN) && (1 <= k) && (k <= n)) { for(i=1;i<=k;i++) { /* prva kombinacija */ a[i] = i; } printf("Kombinacije bez ponavljanja su: "); Print(a, k); if(k < n) { pozicija = k; do { start = a[pozicija] - pozicija + 1; for (i = pozicija; i <= k; i++) { a[i] = start + i; } Print(a, k); if (a[k] == n) pozicija--; else pozicija = k; } while (pozicija > 0); } printf("Unesi bilo koji znak za izlaz: "); scanf("%c",&r); } }