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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / leer archivo y construir grafo [C] en: 18 Abril 2013, 18:44 pm
hola gente, tengo una duda sobre unas prácticas que estoy haciendo en C. son de una asignatura que cursé hace un par de años pero aún debo recuperarlas y me noto oxidado.

el caso es que tengo que leer un archivo .txt con muchas líneas. cada línea tiene un formato especial en cuanto a los datos a leer se refiere. cada línea tiene el siguiente formato:

facultad género estudios residencia año instituto | contacto_1 contacto_2 contacto_3...

todo son números enteros. cada línea corresponde a los datos de un estudiante: la facultad dónde estudió, etc... y tras el separador están los contactos/amigos de ese estudiante (el proyecto es una especie de red social).
sé cómo leer el archivo usando fgets y strtok pero tengo dudas en cuanto a cómo tratar los datos para meterlos en el grafo. la definición de la estructura del grafo que tengo es la siguiente:

/* Se considera una implementación de grafo dirigo mediante listas
   de adyacencia. El grafo consiste en una tabla de tantas entradas
   como vértices. Cada entrada contiene un puntero a un objeto con
   información genérica de tipo desconocido para el TAD, y además
   el puntero inicial a una lista cuyos nodos representan los vertices
   que son adyacentes al vértice asociado a dicha entrada. Por tanto,
   cada nodo de la lista representa una arista entre dos vértices
   del grafo. */

typedef void* tInfoNodoGrafo;  // Puntero a objeto genérico de información

typedef struct tArista
{
   int vertice;            // Identificador del vértice adyacente
   struct tArista* siguiente;   // Puntero a la siguiente arista

} tArista;

typedef struct
{
   tInfoNodoGrafo info;      // Información asociada al vértice
   tArista *arista;   // Lista de aristas (vertices adyacentes)

} tVertice;

typedef struct
{
      int n;            // Número de vértices
      tVertice *vertice;   // Tabla de vértices

} tTablaVertices;

typedef tTablaVertices* tGrafo;


lo que no sé cómo hacer es cómo guardar todos los datos de cada línea en un grafo de estas características.
si es necesaria más info puedo proporcionar lo que sea necesario, tanto trozos de código específicos como archivos del proyecto.

por último pido disculpas si el post parece tener tintes de "hacedme las prácticas" pero ni mucho menos, cómo he dicho más arriba estoy oxidado.

gracias.
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines