SoloCodigo
Programación General => C/C++ => Mensaje iniciado por: Don-Talla en Martes 22 de Junio de 2004, 04:32
-
:huh:
¿Como hago un Programa que lee un archivo que contiene palabras desordenadas y luego las ordena alfabéticamente, guardándolas en otro archivo.?
-
debes usar listyas enlazadas y metodos de ordenamiento.
-
Lee Tus Cadenas Por El Metodo que quieras(binario o texto), despues vaz tener que almacenarlas en memoria para poder un metodo de ordenacion, te recomiendo usar strcmp(char[],char[]) te devuelve 1 si la cadena va primero que la otra, cero si son iguales o -1 si va despues.[/size]
-
:rolleyes: lo malo es que es mi primer programa con archivos =( no se trabajar con ellos, alguien me podria dar una idea del codigo porfavor =o)
-
La forma lógica, uses el método que uses es la siguiente:
open();
read() y/o write();
close();
-
:hola:
a ver tonces seria
#include<stdio.h>
#include<conio.h>
#include<string.h>
void main()
{
FILE *archivos;
getch();
} es lo unico que se, ayudaa porfavor :(
-
#include<stdio.h>
#include<conio.h>
void main()
{
FILE *DescArchivo;
char num;
DescArchivo=fopen("datos.txt","r");
printf("Las palabras del archivo son:\n");
while(fscanf(DescArchivo,"%c",&num)!= EOF)
printf("%c",num);
fclose(DescArchivo);
}
Hay tengo el codigo donde leo las palabras del archivo, pero ahora como las ordeno?
y creo otro archivo donde las tenga ordenadas =(
-
Pero con ese código las palabras solo las mostras en pantalla, deberías ponerlas en un array para poder ordenarlas.
:whistling:
-
Con fscanf(DescArchivo,"%c",&num) lees caracteres. Deberías leer palabras completas.
-
Hola a todos:
El argoritmo resulta sencillo, primero lees todas las lineas del fichero y cada palabra la adicionas a una lista enlazada ( es mejor porque no sabes cuantas palabras leer ), luego realizas unos pasillos para ordenar las lista, puedes utilizar la funcion strcmp(char* st1, char* st2) de la libreria String.h, con un poco de ayuda lo lograras, y finalmente cuando la lista este ordenada -> Creas el nuevo fichero y copias cada palabra en él.
Eso es todo ...
Espero que te sirva,
Salu2,
:hola: :lol: B) :D
LordFord