"...el primer ciclo for, por qué no se imprime?..."
El primer for si que se imprime (o al menos a mi me lo imprime), pero luego en la funcion 'ordenamientoSeleccion' entra en un bucle infinito: el 'for(int i' no lo detiene porque nunca llega a salir del otro bucle 'for(indice'
Código:
void ordenamientoSeleccion(int trabajo[], const int tamanio, bool(*compara)(int, int)) {
int menorOMayor;
int indice;
for(int i = 0; i < tamanio - 1; i++) {
menorOMayor = i;
printf("I=%d\n", i); //aqui
for(indice = i + 1; indice < tamanio; i++)
printf("\tindice=%d, i=%d\n", indice, i); //y aqui
if(!(*compara)(trabajo[menorOMayor], trabajo[indice]))
menorOMayor = indice;
intercambiar(&trabajo[menorOMayor], &trabajo[i]);
}
}
Supongo que ya lo has probado, indice siempre es 1 porque solo entra una vez desde i=0, luego ya nunca sale del segundo bucle que incrementa de forma infinita la variable 'i'
Saludos
vosk