Hola
¿ Podrían ayudarme por favor? Pues andaba aburrido y me dije ¡vamos a echarle un cabo a Luisa Ringo!.
Y me salio esta salida que es "casi" la esperada para lo que se pedía:
Ingrese Nombre de Cines:
>sorancio
Ingrese Nombre de Cines:
>leosan
Ingrese Nombre de Cines:
>masakre
Ingrese Nombre de Cines:
>rir3760
Ingrese Nombre de Cines:
>pantalaimon
Cines ordenados alfabeticamente:
leosan
masakre
pantalaimon
rir3760
sorancio
Ingrese Nombre de Teatros:
>amchacon
Ingrese Nombre de Teatros:
>leosansan
Ingrese Nombre de Teatros:
>caster
Ingrese Nombre de Teatros:
>puntoinfinito
Ingrese Nombre de Teatros:
>do-while
Teatros ordenados alfabeticamente:>
amchacon
caster
do-while
leosansan
puntoinfinito
Teatros y Cines ordenados alfabeticamente:>
amchacon
caster
do-while
leosan
leosansan
masakre
pantalaimon
puntoinfinito
rir3760
sorancio
Con este código, a mejorar poniendo más funciones para los trozos que se cuasi-repiten, pero algo tendrás que aportar tú:#include<stdio.h>
#include<string.h>
#define TAM 5
#define TAM2 2*TAM
#define TAM_NOMBRE 20
void bubblesort(char cines[][TAM_NOMBRE], int tam );
int main()
{
int i;
char cines[TAM][TAM_NOMBRE],teatros[TAM][TAM_NOMBRE],entretenimientos[TAM2][TAM_NOMBRE];
for(i=0;i<TAM;i++)
{
printf("\nIngrese Nombre de Cines:\n>");
scanf("%s",&cines[i]);
}
printf("\nCines ordenados alfabeticamente:\n");
bubblesort(cines,TAM);
for(i=0;i<TAM;i++)
printf("\n\t%s",cines[i]);
for(i=0;i<TAM;i++)
{
printf("\nIngrese Nombre de Teatros:\n>");
scanf("%s",&teatros[i]);
}
bubblesort(teatros,TAM);
printf("\nTeatros ordenados alfabeticamente:\n>");
for(i=0;i<TAM;i++)
printf("\n\t%s",teatros[i]);
for(i=0;i<TAM;i++)
strcpy(entretenimientos[i],teatros[i]);
for(i=TAM;i<TAM2;i++)
strcpy(entretenimientos[i],cines[i-TAM]);
bubblesort(entretenimientos,TAM2);
printf("\nTeatros y Cines ordenados alfabeticamente:\n>");
for(i=0;i<TAM2;i++)
printf("\n\t%s",entretenimientos[i]);
return 0;
}
void bubblesort(char nombre[][TAM_NOMBRE], int n )
{
int i,j,temp;
char temp_[TAM_NOMBRE];
float comp;
for(i=1;i<n;i++)
{
for(j=0;j<n-i;j++)
{
comp = strcmp( nombre[j], nombre[j+1] );
if(comp > 0)
{
strcpy(temp_,nombre[j]);
strcpy(nombre[j],nombre[j+1]);
strcpy(nombre[j+1],temp_);
}
}
}
}
¡Lo que me habría ahorrado con string!. En fin, eso te lo dejo a tí, como lo de ordenar de manera descendente el segundo array, el de teatros.
Saluditos!. ..... P.D:Hay algo a mejorar, que la letra inicial sea mayúscula, pero no te lo voy a dar todo hecho.