Okey, perfecto ya te entiendo. Tomare tu consejo en C e intentare modificar el algoritmo de Ordenamiento de Burbuja. Gracias... Saludos...
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menú
for(i=0; i<l1; i++){
S3[i]=S1[i];
}
j=0;
for(i=l1; i<l3; i++){
S3[i]=S2[j];
j++;
}
#include <stdio.h>
#include <stdlib.h>
int l3,l1,l2,i,j,s,k,t;
int main(void){
printf("Programa que concatena dos segmentos\n\n");
printf("Introduzca la longitud del primer segmento:");
scanf("%i",&l1);/*Se piden los datos*/
printf("Introduzca el primer segmento:");
char S1[l1];
scanf("%s", S1);
printf("\nIntroduzca la longitud del segundo segmento:");
scanf("%i", &l2);
char S2[l2];
printf("Introduzca segundo segmento:");
scanf("%s",S2);
l3=l1+l2;
int cant;
cant=factorial(l3)/(factorial(l2)*factorial(l1));
printf("\n\n El numero de permutaciones es:%d",cant);
char S3[l3];
for(i=0; i<l1; i++){
S3[i]=S1[i];
}
j=0;
for(i=l1; i<l3; i++){
S3[i]=S2[j];
j++;
}
printf("\n\n El segmento es:%s",S3);
fflush(stdin);
//dato = (char*)malloc(cant);
char aux1; /*Tamaño maximo de 100*/
char *arreglo[cant];
//char* dato;
s=0;
arreglo[0]=S3;
printf("\n\n OjO es:%s",arreglo[s]);
for(i=l1; i<=l3-1; i++){
t=0;
for(j=i-1; j>=0; j--){
s++;
aux1=S3[j];
S3[j]=S3[j+1];
S3[j+1]=aux1;
arreglo[s]=S3;
printf("\n\n Permutacion %i en ciclo %i es:%s y Arreglo es %s",s,t,S3,arreglo[s]);
// t=0;
// while(abs(i+1-j)>1){
// aux1=S3[j+1];
// S3[j+1]=S3[i+1];
// S3[i+1]=aux1;
// s++; t++;
// arreglo[s]=S3;
// printf("\n\n Permutacion %i en ciclo %i es:%s y arreglo es %s",s,t,S3,arreglo[s]);
// }
}
}
//printf("\n\n Permuta DOS es:%s",arreglo[2]);
for(j=0;j<=cant;j++){
printf("\n\n Permuta %d es:%s",j,arreglo[j]);
}
return EXIT_SUCCESS;
}
for(i=l1; i<=l3-1; i++){
t=0;
for(j=i-1; j>=0; j--){
s++;
aux1=S3[j];
S3[j]=S3[j+1];
S3[j+1]=aux1;
arreglo[s]=S3;
printf("\n\n Permuta %i en ciclo %i es:%s y Arreglo es %s",s,t,S3,arreglo[s]);
}
}
for(j=0;j<=cant;j++){
printf("\n\n Permuta %i es:%s",j, arreglo[j]);
}
char *arreglo, S3, aux1;