Seria de gran ayuda postear el enunziado del programa o se komentara k se ha de hacer concretamente si no es impossible ayudar
OuGi
Ahi explico un poquito mas:
Es sencillo, es todo un tp practico grande, saque solo una partecita,
Tengo que tener un vector de punteros,
LU MA MI JU VI SA DO
BS
Un vuelo o mas que va para buenos aires dias lu -> domingo.
Por cada dia tengo Vuelos, para Buenos Aires, cada vuelo tiene varios pasajeros, la estructura de vuelos, es una lista, y debajo de cada vuelo tengo pasajeros, entonces se hace una multilista, estos pasos ya los hice, lo que no entiendo como meter esto a un Vector, hice las funciones de la carga de multilista, y todo....pero como cargar todo esto en un vector, no entiendo.
Typedef struct vuelos
{
int nro_vuelo;
int tot_lugares;
int ocupados;
struct pasajeros *abajo;
struct vuelos *sig;
} nodo_vuelos;
Typedef struct pasajeros
{
char nombre[15];
long nro_pasaporte;
long telefono;
struct pasajeros *prox;
} nodo_pasajeros;
Funcion, main, para cargar mi multilista:
#include<stdio.h>
#include<stdlib.h>
#include <string.h>
#include <conio.h>
typedef struct vuelos
{
int nro_vuelo;
int tot_lugares;
int ocupados;
struct pasajeros *abajo;
struct vuelos *sig;
}nodo_vuelos;
typedef struct pasajeros
{
long nro_pasaporte;
long telefono;
struct pasajeros *prox;
}nodo_pasajeros;
void crear(nodo_vuelos *pt);
void mostrar(nodo_vuelos *pt);
void crear2(nodo_pasajeros *pt,int);
void mostrar2(nodo_pasajeros *pt);
int main()
{
nodo_vuelos *primeroV;
nodo_vuelos *auxV;
nodo_pasajeros *primeroP;
nodo_pasajeros *auxP;
primeroV=(nodo_vuelos*)malloc(sizeof(nodo_vuelos));
auxV=primeroV;
crear(primeroV);
mostrar(primeroV);
getch();
return 0;
}
void crear(nodo_vuelos *registro)
{
int cont=0;
printf("nPor favor, ingrese numero de vuelo (0 para terminar): ");
scanf("%d",®istro->nro_vuelo);
if(registro->nro_vuelo==0)
{
registro->nro_vuelo=0;
registro->sig=NULL;
}
else
{
printf("Por favor, ingrese la cantidad de lugares: ");
scanf("%d",®istro->tot_lugares);
printf("Por favor, ingrese la cantidad de lugares ocupados: ");
scanf("%d",®istro->ocupados);
while(registro->tot_lugares<registro->ocupados)
{
printf("Por favor, ingrese la cantidad de lugares ocupados: ");
scanf("%d",®istro->ocupados);
}
cont=registro->ocupados;
registro->abajo=(nodo_pasajeros*)malloc(sizeof(nodo_pasajeros));
crear2(registro->abajo,cont);
registro->sig=(nodo_vuelos*)malloc(sizeof(nodo_vuelos));
crear(registro->sig);
}
}
void crear2(nodo_pasajeros *registro,int cont)
{
if(cont==0)
{
registro->prox=NULL;
}
else
{
printf("n");
printf("Por favor, ingrese el numero del pasaporte: ");
scanf("%d",®istro->nro_pasaporte);
printf("Por favor, ingrese el telefono del pasajero: ");
scanf("%d",®istro->telefono);
cont--;
registro->prox=(nodo_pasajeros*)malloc(sizeof(nodo_pasajeros));
crear2(registro->prox,cont);
}
}
void mostrar(nodo_vuelos *registro)
{
if (registro->sig!=NULL)
{
printf("nVuelo->%dn",registro->nro_vuelo);
printf("-----------------------------n");
printf("El total de lugares: %dn",registro->tot_lugares);
printf("El total de ocupados: %dn",registro->ocupados);
mostrar2(registro->abajo);
mostrar(registro->sig);
}
return;
}
void mostrar2(nodo_pasajeros *registro)
{
if(registro->prox!=NULL)
{
printf("-----------------------------n");
printf("El numero del pasaporte: %dn",registro->nro_pasaporte);
printf("El telefono: %dn",registro->telefono);
mostrar2(registro->prox);
}
return;
}