Hola a todos.
El programa que dejo a continuación funciona correctamente, lo que no logro hacer son 2 cosas que desearía me enseñen a concretarlas.-
Quiero en primer lugar eliminar esta línea.
#define ELEMENTOS 15
Como debo hacer con sizeof para saber cuántos punteros tengo declarado en el array de punteros provincias, me funciona con char, int, pero no con array de punteros.-
Lo otro que no puedo lograr es pasar el array provincias a una función, para que se entienda quiero hacer lo mismo pero con 2 funciones, una que se llame mostrar y la otra ordenar, en este caso me interesaría más que me escriban un poco de teoría que la sintaxis (si es mucho pedir, mil disculpas).-
#include <stdio.h>
#include <string.h>
#define ELEMENTOS 15
int main(void){
char *provincias[ELEMENTOS] = {"Tucuman", "Santa Fe", "Buenos Aires", "Rio Negro", "Neuquen",
"Misiones", "Catamarca", "Santa Cruz", "Jujuy", "Chaco",
"Formosa", "Corrientes", "Salta", "La Rioja", "Cordoba"};
char *temp;
int i, j;
printf("\n provincias Argentinas desordenadas\n\n" );
for(i=0; i<ELEMENTOS; i++){
printf(" %s\n", provincias[i]);
}
for(i=0; i<ELEMENTOS-1; i++){
for(j=i+1; j<ELEMENTOS; j++){
if(strcmp(provincias[i], provincias[j]) > 0){
temp = provincias[i];
provincias[i] = provincias[j];
provincias[j] = temp;
}
}
}
printf("\n Ordenadas alfabeticamente\n\n" );
for(i=0; i<ELEMENTOS; i++){
printf(" %s\n", provincias[i]);
}
printf("\n Pulse [Enter] para finalizar..."); getchar();
return 0;
}
//http://platea.pntic.mec.es/vgonzale/cyr_0204/cyr_01/control/lengua_C/cadenas.htm#strcmp
Saludos.
Daniel