Lo que veo son varios problemas de acceso y eso es lo que está generando tu problema.
Función lectura():
Función lectura():
- Si el bucle de la línea 31 sale porque j == C, en la línea 37 tienes un acceso a memoria fuera de los límites del array.
- Si el bucle de la línea 29 sale porque i == F, en la línea 42 tienes otro acceso fuera del array.
Además no sé si es obligatorio que hagas así la lectura pero sino es mucho mejor que uses la función fgets():Código (c) [Seleccionar]
// Guarda el contenido de un archivo en un array bidimensional por lineas y devuelve el numero de lineas leidas
int lectura(char array[][C]){
FILE *archivo = fopen("loquesea.txt", "r");
int fila = 0;
// fgets guarda C-1 caracteres de una linea del archivo y pone '\0' al final
while(fila < F && fgets(array[fila], C, archivo)) ++fila;
return fila;
}
Y en la función auxiliares() tienes los mismos problemas que en lectura() además de que no controlas el límite de líneas leídas. Si el array tiene 2 filas y el fichero tiene n filas estás realizando n-2+1 accesos a memoria fuera del array.
Al ejecutarse la línea 74, el programa se detendría si intenta acceder a memoria fuera del ámbito de tu ejecutable. Si no se detiene está modificando algo y en tu caso ese algo es el elemento arreglo[0][0].