Cita:
Iniciado por sam90 fseek no es recomendable para este caso, porque lo registro no tienen la misma longitud.
Para ordenar yo cargaria todo en memoria lo ordenaria y luego lo guardaria en el archivo.
Si es lo que estaba pensando yo lo cargaria algo asi, aunque claro puede cargarlo todo en un string y luego con - o , y ya de ahi usar tokenizer y ya guardarlo en un arreglo.
Mientras yo lo hago algo mas am sencillo y "facil" de entender
Código C++:
Ver originalint cont = 0;
char linea[50];
ifstream ar0("votos.txt");
ifstream ar1("votos.txt");
while(!ar0.eof())
{
ar0.getline(linea, 50);
cont++;
}
ar0.close();
int arreglo[cont];
int i = 0;
cout << endl;
while(!ar1.eof())
{
ar1.getline(linea, 50);
arreglo
[i
] = atoi(linea
); i++;
}
ar1.close();
int aux;
for(int x = 1; x < cont; x++)
{
for(int xx = 0; xx < cont - x; xx++)
{
if( arreglo[xx] > arreglo[xx+1] )
{
aux = arreglo[xx];
arreglo[xx] = arreglo[xx+1];
arreglo[xx+1] = aux;
}
}
}
FILE
*nuevo
= fopen("votos.txt", "w"); for(int x = 0; x < cont; x++)
{
fprintf(nuevo
, "%d \n", arreglo
[x
]); }
return 0;