C/Visual C - COMO ORDENAR UN ARCHIVO

 
Vista:

COMO ORDENAR UN ARCHIVO

Publicado por POLO (9 intervenciones) el 18/02/2004 03:12:18
HOLA A A TODOS!!

ESPERO ME PUEDAN AYUDAR, TENGO QUE HACER UN PROGRAMA QUE ME ORDENE UN ARCHIVO. EN EL PROGRAMA YA DOY DE ALTA Y CONSULTO. PERO YA TENIENDO EL ARCHIVO CREADO CON VARIOS REGISTROS LO TENGO QUE ORDENAR.

PERO EL CASO ES, QUE PARA ORDENARLO DEBO DIVIDIR ESE ARCHIVO EN VARIOS SUBARCHIVOS, ES DECIR,POR EJEMPLO,

EN EL ARCHIVO TENEMOS 15 REGISTROS DESORDENADOS Y LE PREGUNTAMOS AL USUARIO QUE ¿CUANTAS SECCIONES QUIERE? SI EL ME DICE 3...... ENTONCES EL ARCHIVO LO DEBO PARTIR EN 3 SUBARCHIVOS DE 5.

CADA SUBARCHIVO DEBO ORDENARLO.

YA QUE ESTAN ORDENADOS LOS 3 SUBARCHIVOS DE 5 REGISTROS CADA UNO. AHORA DEBO TOMAR EL PRIMER REGISTRO DE CADA SUBARCHIVO PARA COMPARARLO Y SACAR CUAL ES EL MENOR Y PONERLO EN UN NUEVO ARCHIVO QUE VA SER DONDE QUEDEN TODOS LOS REGISTROS ORDENADOS.

SUPONIENDO QUE YA COMPARE EL PRIMER REGISTRO DE CADA SUBARCHIVO Y ENCONTRE EL MENOR LO MANDO AL ARCHIVO DE SALIDA Y AHORA DEBO SACAR OTRO REGISTRO DE DONDE SALIO EL QUE MANDE AL ARCHIVO DE SALIDA PARA COMPARARLOS OTRA VEZ CON CADA REGISTRO.

PERO COMO LE HAGO PARA ORDENAR CADA SUBARCHIVO, Y LUEGO COMPRARLO CON EL PRIMER REGISTRO DE CADA UNO Y YA COMPARADO COMO LO MANDO AL ARCHIVO DE SALIDA Y COMO SACO OTRO PARA SEGUIR COMPARANDO..

ESPERO ME PUEDAN AYUDAR POR QUE NO ENTIENDO MUY BIEN ESTO DE LOS ARCHIVOS EN C++. Y ASI PLATICADO PUES SE VE FACIL PERO COMO LO PROGRAMO.

DE ANTEMANO LES AGRADEZCO LA ATENCION PRESTADA A ESTA NOTA. POR FAVOR AYUDENME. ME URGE SU AYUDA.

GRACIAS
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:COMO ORDENAR UN ARCHIVO

Publicado por J Oliver Beltran (166 intervenciones) el 18/02/2004 10:37:07
Me parece que te estas complicando la vida. En lugar de hacer tanta transaccion con archivos, hazlo con la memoria. Te resultara mas fácil.
Sigue estos pasos :
1) Lee el archivo origen, tal cual.
2) Crea N arrays donde almacenar los datos, siendo N el numero de subarchivos.
3) Ordena cada array
4) Mezclalos;
5) Escribe en disco.

Como tendras que abrir un numero indefinido de archivos, te recomiendo que utilizes un array de manejadores de ficheros, asi como uno para el origen y otro para el destino . es decir:

FILE *ListaFicheros, Origen,Destino;

Asi podras llevar la cuenta de cada fichero ;-)

No se si habrá codigo fuente disponible por ahi, pero si te sirve de ayuda, el problema que planteas se conoce como ordenacion MergeSort, solo que aplicada a ficheros.


Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:COMO ORDENAR UN ARCHIVO

Publicado por POLO (9 intervenciones) el 25/02/2004 03:08:48
GRACIAS OLIVER!!!

TE AGRADEZCO MUCHO TU COMENTARIO Y TIEMPO ME FUE DE MUCHA AYUDA
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar