C/Visual C - Necesito ayuda con un programa en c++ que genere una lista

 
Vista:
sin imagen de perfil

Necesito ayuda con un programa en c++ que genere una lista

Publicado por Jeyk (1 intervención) el 28/03/2018 19:45:07
Buenas tardes soy estudiante de ing informatica (comenzando) estamos viendo "Listas" y tengo muchas dudas todavía con este código, ¿Alguien que me quiera echar una mano para resolverlo?

Desarrolle un programa que haga lo siguiente

Genere una lista que maneje estos datos:

+Fechas
-Dia
-Mes
-Año
+Evento (descripcion)
+Tipo Evento (Historico/Religioso/Social)

La lista debe tener el siguiente metodo:

+Genere una lista con los datos ordenados por fechas
+Genere una lista con los eventos sociales desde Junio hasta octubre
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de gregory
Val: 73
Ha mantenido su posición en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

Necesito ayuda con un programa en c++ que genere una lista

Publicado por gregory (24 intervenciones) el 29/04/2018 07:38:20
Mano a la obra.
primero algo de teoria

Los array son estaticos si lo declara ya no pueden cambiar su tamaño
pero la lista no. Ellas se reoganiza segun la memoria que se desea trabajar
Lo bueno es que puede hasta eliminarla. cosa que un array lo unico que podia hacer
es asignarle un cero pero a nivel de memoria esa posicion continuaria existiendo.

Ante de seguir tienes que tener presente como trabajar con array de struct, punteros de struct, operaciones con struct en c. Si no sabes una de esta cosas consulta en internet o en un libro de programacion en
c.
//esto es sola una lista cordenada x y z
1
2
3
4
5
6
7
8
typedef struct lista
{
  int x;
  int  z
  lista sig;//aqui no recuerdo si era el nombre de arriba o el de abajo
}list;
 
list *inicio,ultimo;

ahi esta declarada ahora que falta los metodos o funciones para trabajar con ellas.
Que se necesita insertar, borrar,ordenar,buscar, mostrar.
insertar en pseudocodigo

nuevodato=datonuevo;
si inicio es null

inicio =nuevodato
ultimo=nuevodato;
sino
ultimo.sig=nuevodato
ultimo=nuevodato;

Que es lo que hace esto
-> apunta
nuevo-> apunta nuevodato donde nuevo dato contiene algo y no es null
creo que en c usa mallo busca como trabaja
inicio -> apunta null porque no tiene a nadie
ultimo->apunta null

si inicio ==null
inicio->nuevodato
ultim-> o ultimo=nuevodato;
sino
ultimo->-> ultimo apunta a sig sig apuntara a nuevodato
ultimo ->nuevo y despues ultimo apuntara a nuevo dato tambien

buscar(x)

para(aux=inicio;aux!=null;aux=aux.sig)
si(aux.x==x)
retornar aux;



esto lo que hace es recibe un valor por parametro en tu caso puede ser la fecha el año en fin
crear un valor tipo lista -> a inicio
porque se usa a inicio porque si inicio apunta a otro valor se pierde toda la lista
desde inicio a hasta null
porque
inicio->x=1 inicio->->x=2 inicio->->->x =3 ..... inicio->null ya no apunta a mas nadie
si aux->x ==x
devolver aux;
porque
buscar busco 5
aux->x donde x=5

if(aux->x=5==5)
{
retorno ese nodo=quiere decir esa parte de la lista
puedo hacer return aux; o return aux.x
}

borra(x)
{
buscar(x)
borrardeverdad
}
//borrar te lo devo no recuerdo como es la operacion completa

ordenar e imprimir te lo dejo ya con esto tiene base

libros muchos
introduction alghoritm´s de segetwy
de cormen
c avanzado pdf
pista para ordenar necesita 2 lista aux;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar