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

Punteros

Estas en el tema de Punteros en el foro de C/C++ en Foros del Web. Hola. estoy trabajando con punteros. Tengo Archivo CrearArchivo(char * nombre); linea InsertarLinea(Archivo &a, char * linea, int nroLinea); estas son dos listas distintas tengo que ...
  #1 (permalink)  
Antiguo 10/10/2015, 19:24
 
Fecha de Ingreso: abril-2015
Mensajes: 16
Antigüedad: 9 años
Puntos: 0
Punteros

Hola. estoy trabajando con punteros.

Tengo

Archivo CrearArchivo(char * nombre);

linea InsertarLinea(Archivo &a, char * linea, int nroLinea);

estas son dos listas distintas

tengo que insertar una linea dando nombre del archivo, lo que dice y el numero donde va.

como hago para relacionar las dos listas?? osea que archivo apunte a la linea ya que son estructuras diferentes.

(se como insertar la linea de manera normal pero no con un parametro como el archivo que es de otra lista)


typedef char * contenido;

struct nodolinea
{
int nrolinea;
contenido line;
struct nodolinea * sig_linea;

}; typedef nodolinea * Linea;

typedef char *nombreArchivo;
typedef char *nombre;

struct archivo
{
nombreArchivo nombre;
Linea *ptr_linea;
struct archivo * sig_archivo;

}; typedef archivo *Archivo;



No se si me explico.

Gracias
  #2 (permalink)  
Antiguo 13/10/2015, 01:26
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 9 años, 6 meses
Puntos: 204
Respuesta: Punteros

La variable Archivo almacena su contenido en ptr_linea.

La función que tienes que implementar recibe un archivo, la línea a insertar y la posición donde debe ir esa línea. Lo que tienes que hacer es recorrer la lista ptr_linea del archivo en cuestión llevando la cuenta del número de líneas recorridas. Cuando hayas llegado al número de línea pedido tienes que insertar en dicha posición la línea que te han pasado como parámetro... para ello tienes que hacer que el sig_linea del nodo anterior apunte a la nueva línea y que el sig_linea de la nueva línea apunte a la línea que va a desplazar.

Un saludo

Etiquetas: char, int, listas, numero, punteros
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 20:35.