Buenas!! tengo el siguiente codigo para analizar, el programa se encarga de recibir nombres por teclado y ordenarlos alfabeticamente, hasta aki todo mu bien, la unica duda q tengo es porque se pone la funcion antes del main(). Yo siempre (novato) las he visto definidas despues de main, y no entiendo porque va antes y xq si la pongo debajo no funciona :\ Alguien me dice a q se debe?? El codigo es el sigueinte
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void ordenar_cadenas (char nombres[50][100], int total)
{
char temp[100];
int i, j;
for(i=0; i < total-1; i++)
{
for(j=i+1; j < total; j++)
if(strcmp(nombres, nombres[j]) > 0)
{
// Copia en variable temporal datos actuales
strcpy(temp, nombres);
// Intercambia informacion
strcpy(nombres[i], nombres[j]);
strcpy(nombres[j], temp);
}
}
}
int main()
{
char nombres[50][100];
int i, total;
printf("Cuantos nombres desea introducir: ");
scanf("%d", &total);
fflush(stdin);
for(i=0; i<total; i++)
{
printf("Nombre %d: ", i+1);
//scanf("%s", nombres[i]); con esto no necesito el fflush.
gets(nombres[i]);
}
ordenar_cadenas(nombres, total);
printf("\nLos nombres ordenados quedan:\n\n");
for(i=0; i<total; i++)
{
printf("Nombre %d: %s\n", i+1, nombres[i]);
}
return 0;
system("pause");
}
Thx!!!
Weno ya consegui ponerlo delante y q me funcione, xo sigo sin comprender el orden en q lo puse, alguien me puede explicar porq?