Kód:
#include <stdio.h>
/* Funkcia vypíše všetky permutácie daného počtu číslic v rozsahu 0-9 bez opakovania */
void generate(int k, int n, char *text, char *test) {
int i;
if (k == n && text[0] != '0') {
text[n] = 0;
printf("%s\n", text);
return;
}
for (i = 0; i < 10; i++) {
if (!test[i]) {
text[k] = i + '0';
test[i] = 1;
generate(k + 1, n, text, test);
test[i] = 0;
}
}
}
int main(void)
{
char text[11] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
char test[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
generate(0, 3, text, test);
return 0;
}
_________________
kódy píšem na platforme: linux Ubuntu 12.04 (Geany, Code::Blocks), WinXP (Code::Blocks, PsPad editor),
Skype: libcokamo, ICQ: 56312279
Ak treba, napíš mi na
libcosenior@gmail.com. To mám v mobile a stále po ruke.