Foros del Web » Programación para mayores de 30 ;) » C/C++ »

de fichero texto a array

Estas en el tema de de fichero texto a array en el foro de C/C++ en Foros del Web. Hola tengo que hacer un ejercicio en "c" que consiste en leer un fichero y crear un array con los elementos de este y ordenarlo ...
  #1 (permalink)  
Antiguo 03/03/2011, 05:39
 
Fecha de Ingreso: marzo-2011
Mensajes: 2
Antigüedad: 13 años, 2 meses
Puntos: 0
de fichero texto a array

Hola tengo que hacer un ejercicio en "c" que consiste en leer un fichero y crear un array con los elementos de este y ordenarlo por orden de sus ocurrencias, es decir, en el array solo aparecera una vez cada elemento y se ordenara por las veces que se repita dicho caracter. Alguien me puede ayudar???

Gracias
  #2 (permalink)  
Antiguo 03/03/2011, 06:12
Avatar de Heimish2000  
Fecha de Ingreso: enero-2011
Ubicación: Madrid
Mensajes: 844
Antigüedad: 13 años, 3 meses
Puntos: 89
Respuesta: de fichero texto a array

1) Crea una estructura de dos elementos. Caracter, de tipo char, y apariciones, de tipo entero
2) Define un array de esa estructura
3) Abre el fichero y ve leyendo hasta que acabe.
4) Para cada caracter, mira si esta en el array, si está incrementa apariciones en uno, si no está inserta un nuevo elemento al final del array con el caracter que sea y cero en apariciones.
5) Cierra el fichero
6) Ordena el array por numero de apariciones (te valdrá cualquier método de ordenación)
  #3 (permalink)  
Antiguo 03/03/2011, 09:23
 
Fecha de Ingreso: marzo-2011
Mensajes: 2
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: de fichero texto a array

Si como sabes cuantos apariciones tiene cada elemento esa en mi duda donde lo guardas??ya que lo que hay que ordenar son los caracteres del fichero
  #4 (permalink)  
Antiguo 03/03/2011, 10:08
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: de fichero texto a array

Puedes hacer algo muy simple. Como sabes que los caracteres tiene de codigo del 0 al 255 creas un array asi

int aparicion[255];
despues inicializas a 0 todo el array.

Luegos realizas la lectura del archivo. Y dentro del bucle para leer haces un

c=getc(archivo);
aparicion[c] ++;

Como veras cada posicion del array representa un caracter. Como sabes cual es cada uno es simple...segun el codigo ascii.

Ahora hace falta ordenar esto....algo simple pero robusto podria ser ir recorriendo el array en busca del mas grande (osea mas apariciones). Cuando lo encuentras lo vuelves a 0 para que no sea encontrado.
  #5 (permalink)  
Antiguo 03/03/2011, 10:20
Avatar de Heimish2000  
Fecha de Ingreso: enero-2011
Ubicación: Madrid
Mensajes: 844
Antigüedad: 13 años, 3 meses
Puntos: 89
Respuesta: de fichero texto a array

Cita:
Iniciado por almapolar89 Ver Mensaje
Si como sabes cuantos apariciones tiene cada elemento esa en mi duda donde lo guardas??ya que lo que hay que ordenar son los caracteres del fichero
Para eso te puse la variable apariciones...lo guardas todo en un array.

Etiquetas: fichero
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:40.