Código de C/Visual C - Permutaciones para n elementos

Permutaciones para n elementosgráfica de visualizaciones


C/Visual C

Publicado el 25 de Octubre del 2002 por Jose Alvendas
13.652 visualizaciones desde el 25 de Octubre del 2002. Una media de 21 por semana
Código en C que calcula la serie de permutaciones para n numeros y da la cantidad de permutaciones y lo grupos realizados.

Versión 1

Publicado el 25 de Octubre del 2002gráfica de visualizaciones de la versión: Versión 1
13.653 visualizaciones desde el 25 de Octubre del 2002. Una media de 21 por semana
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# 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);
void 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(MONO);
printf("\n\n\tESTOS SON TODOS LOS GRUPOS DE PERMUTASIONES QUE SE PUEDEN REALIZAR");
textcolor(MONO);
textcolor(RED+BLINK);
gotoxy(10,16);cprintf("Pulzar cualquier tecla para finaliza");
getch();
}
/****************************************************************************/
void rellenar_vector(int vect[])
{
register int i;
do
{
printf("Introduzca el numero de elemntos de 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[i]);
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[i]);
getch();
}
/****************************************************************************/
void permutar(int v[], int m)
{
register int i;
if(m>1)
 
for(i=1;i<=m;i++)
 {
 
 intercambiar(&v[i], &v[m]);
 permutar(v,m-1);
 intercambiar(&v[i],&v[m]);
 }
 else
 
 escribir_vector(v);
 
 }
 /****************************************************************************/
 void intercambiar(int *p1,int *p2)
 {
 int aux;
 aux=*p1;
 *p1=*p2;
 *p2=aux;
 }



Comentarios sobre la versión: Versión 1 (0)


No hay comentarios
 

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios

http://lwp-l.com/s345