Hola necesito saber el código para la utilización de parejas hasta el numero 7 y definir si hay solución en cada uno es decir 2 3 1 2 1 3 así, gracias
1 respuesta
Respuesta
1
1
Anónimo
La verdad es que no entiendo muy bien tu pregunta, pero bueno, trataré de responderte. Creo que el siguiente código te podría solucionar el problema. Ahí va: # include<stdio.h> # include<conio.h> # include<stdlib.h> # include<dos.h> # define NUMERO_MAXIMO_ELEMENTOS_VECTOR 100 # define en(x,x1,x2)((x)1)&&(x)<=(x2)) void rellenar_vector(int vect[]); void escribir_vector(int vect[]); void permutar(int v[],int m); void intercambiar(int *p1,int *p2); int main(void) { clrscr(); int vector[NUMERO_MAXIMO_ELEMENTOS_VECTOR]; puts("Permutaciones"); rellenar_vector(vector); printf("\nTotal de permutaciones y grupos de permutaciones"); permutar(vector,vector[0]); textcolor(11); printf("\n\n\tESTOS SON TODOS LOS GRUPOS DE PERMUTACIONES QUE SE PUEDEN REALIZAR"); textcolor(12); textcolor(GREEN+BLINK); gotoxy(10,16);cprintf("Pulse cualquier tecla para finalizar"); getch(); return 0; } /****************************************************************************/ void rellenar_vector(int vect[]) { register int i; do { printf("Introduzca el numero de elementos del vector: "); scanf("%d",&vect[0]); fflush(stdin); }while(! (vect[0],1,NUMERO_MAXIMO_ELEMENTOS_VECTOR)); printf("\nIntroduzca los %d elementos a permutar: ",vect[0]); for(i=1;i<=vect[0];i++) scanf("%d",&vect); fflush(stdin); putchar('\n'); getch(); } /****************************************************************************/ void escribir_vector(int vect[]) { clrscr(); static unsigned int numero_de_permutacion=0; register int i; ++numero_de_permutacion; gotoxy(15,9); printf("ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿"); gotoxy(15,10);printf("³Total de permutaciones ³ Grupos de Permutaciones ³"); gotoxy(15,11);printf("ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´"); gotoxy(15,12);printf("³ Permutacion %2u ³ ³",numero_de_permutacion); gotoxy(15,13);printf("ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ"); gotoxy(51,12); for(i=1;i<=vect[0];i++) printf("%d",vect); getch(); } /****************************************************************************/ void permutar(int v[], int m) { register int i; if(m>1) for(i=1;i<=m;i++) { intercambiar(&v, &v[m]); permutar(v,m-1); intercambiar(&v,&v[m]); } else escribir_vector(v); } /****************************************************************************/ void intercambiar(int *p1,int *p2) { int aux; aux=*p1; *p1=*p2; *p2=aux; }