elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  problema con leer e interpretar txt
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: problema con leer e interpretar txt  (Leído 2,680 veces)
arthu16

Desconectado Desconectado

Mensajes: 2


Ver Perfil
problema con leer e interpretar txt
« en: 12 Septiembre 2013, 12:23 pm »

hola buenas tengo un problema, quiero leer un txt para hacer un programilla que utiliza el algoritmo de Floyd para utilizarse en una "compañia aerea", es una practica que me han pedido en la universidad y lo unico que me falla es el leer los datos del txt.

el txt tiene esta estructura.
5
Londres Oslo Madrid Roma Praga
. 90 30 150 .
120 . 70 125 .
20 . . 90 50
25 80 70 . 30
. 30 . 30 .

en el que el primer dato es un 5(ese ya lo tengo solucionado)
la segunda linea contiene el nombre de las ciudades, las cuales tengo que meterlas en varias variables para luego utilizarlas
la tercera linea y restantes son la matriz de vuelos.

Por favor necesito ayuda cuanto antes.


En línea

eferion


Desconectado Desconectado

Mensajes: 1.248


Ver Perfil
Re: problema con leer e interpretar txt
« Respuesta #1 en: 12 Septiembre 2013, 12:45 pm »

No se hacen tareas... se resuelven dudas. Por este motivo no te voy a poner una sola línea de código.

Una vez has leído el 5, ya deberías saber que en la siguiente línea te vas a encontrar 5 ciudades. Dado que no creo que trabajes con memoria dinámica me ahorro los pormenores.

Presupongo que las ciudades están delimitadas por espacios o saltos de línea... facil, lee toda la línea y trocéala por los espacios, cada trozo de cadena será una de las ciudades ( hay una función en c para hacerlo ).

Después de eso ya solo tienes que recoger los datos numéricos... más de lo mismo: lees toda la línea, troceas por los espacios y recorres los trozos resultantes... si es un punto haces una cosa, si no... conviertes la cadena a números.

El último paso lo repites hasta que hayas procesado todo el archivo y... listo.

Fácil, no?


En línea

arthu16

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: problema con leer e interpretar txt
« Respuesta #2 en: 12 Septiembre 2013, 17:48 pm »

Gracias por tu aporte, en ningun momento he dicho que nadie escribiese codigo, he pedido ayuda, con mi duda.

podrias decirme que funcion en c realiza eso?

creo que lo de los numeros, si supiese la funcion, seria simplemente con dos bucles for uno con i y otro con j por ejemplo y recorrer la matriz de datos entera poniendolos en su sitio, me equivoco?

Gracias.



y por cierto si que trabajo con memoria dinamica, las matrices para los numeros estan hechas con memoria dinamica con valores de n+1, dado que n=5.
« Última modificación: 12 Septiembre 2013, 20:38 pm por Eternal Idol » En línea

eferion


Desconectado Desconectado

Mensajes: 1.248


Ver Perfil
Re: problema con leer e interpretar txt
« Respuesta #3 en: 12 Septiembre 2013, 18:50 pm »

y por cierto si que trabajo con memoria dinamica, las matrices para los numeros estan hechas con memoria dinamica con valores de n+1, dado que n=5.

Si trabajas con vectores y estos no son de caracteres no es necesario hacer n+1. Eso solo pasa con los caracteres y es porque las funciones de c interpretan que una cadena de caracteres termina cuando encuentran un caracter nulo, luego para que entre ese caracter nulo necesitas n+1 huecos mínimo en el vector.

en tu caso si trabajas con matrices dinamicas necesitas, en primer lugar definir la cantidad de cadenas que tienes en este caso 5... y luego para cada una de esas 5 tienes que reservar memoria para poder almacenar las cadenas.

En cuanto al desarrollo, pues varía de si empleas o no estructuras.

podrias decirme que funcion en c realiza eso?
Gracias.

strtok.

creo que lo de los numeros, si supiese la funcion, seria simplemente con dos bucles for uno con i y otro con j por ejemplo y recorrer la matriz de datos entera poniendolos en su sitio, me equivoco?

Si vas línea a línea te sobra el segundo bucle e incluso te podrías permitir el lujo ( y sana costumbre de paso ) de crear una función específica que procesase línea a línea las secuencias de números y los colocase en su sitio.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines