Necesito una función que lea unos numeros de un archivo de texto que luego los cojera y los ordenara para añadirlos por orden a un miembro de una clase (dat.topScore)
Código
void readScore() { char linea[128]; // para la lectura int lineas = 0; // para ver las lineas del archivo int temp[128]; /// original int _temp[128]; // temporal para ordenar for (int i = 0; i < 128; i++) { _temp[i] = 0; // añado inicializador } /*** obtengo las lineas del archivo que he definido anteriormente ***/ while (!dataFile_o.eof()) { dataFile_o.getline(linea,sizeof(linea)); temp[lineas] = atoi(linea); lineas++; } /***** Calculo el maximo de la matriz y la guardo en otra (_temp) y para que no se repita el numero le pongo de valor 0 a la matriz original y así evadir el repetimiento ****/ for (int i = 0; i < lineas; i++) { _temp[i] = *max_element(temp,temp+lineas); for (int z = 0; z < lineas; z++) { if (_temp[i] == temp[z]) { temp[z] = 0; } } cout << _temp[i]; // AQUÍ LO IMPRIME ORDENADO } /*** Finalmente guardo la matriz ordenada en un miembro de una clase ***/ for (int i = 0; i < lineas; i++) { _temp[i] = dat.topScore[i]; // NO ENTIENDO PORQUE NO LO GUARDA BIEN (saca todo de ceros) cout << _temp[i]; } }
El error ya lo he comentado más o menos en el código, cuando hago la impresión durante el primer ciclo for de ordenar sale todo bien luego cuando hago la impresión de nuevo me sale todo de "00000"...
Nose si me explico xD Si hay dudas preguntad porfavor!! Saludos y gracias por leer