// combiCar.c, genera todas las combinaciones de n caracteres #include #include void combiCar(char c[]); int main() { char cad[] = "12345"; combiCar(cad); system("pause"); return 0; } void combiCar(char c[]) { // genera todas las combinaciones de las caracteres en c int x, i; // contadores exterior, interior int d; // contador para desplegar combinacion char t; // temporal para intercambio int n = 0; // numero caracteres while (c[n] != '\0') n++; for (x = n-1; x > -1; x--) { for (i = 0; i < n-1; i++) { t = c[i]; c[i] = c[i+1]; c[i+1] = t; for (d = 0; d < n; d++) printf("%c", c[d]); printf("\n"); } } } * * * * * * * // combiEnt.c, genera todas las combinaciones de n enteros #include #include void combiEnt(int e[], int n); int main() { int ent[] = {1,2,3,4,5}; combiEnt(ent, 5); system("pause"); return 0; } void combiEnt(int e[], int n) { // genera todas las combinaciones de las caracteres en c int x, i; // contadores exterior, interior int d; // contador para desplegar combinacion int t; // temporal para intercambio for (x = n-1; x > -1; x--) { for (i = 0; i < n-1; i++) { t = e[i]; e[i] = e[i+1]; e[i+1] = t; for (d = 0; d < n; d++) printf("%d", e[d]); printf("\n"); } } } ecabrera, intec, diciembre 2007.