//Bueno lo que pasa es que tengo un codigo de listas en c++ y no se como podria añadir 2 procesos mas que son eliminar un nodo de la lista y buscar si existe un elemento en la lista
//por ahora el codigo solo crea nodos, los llena, muestra sus valores y realiza el promedio de todos los valores de la lista
#include<iostream> //librerias
#include<stdlib.h>
using namespace std;
struct nodo{ //definir la estructura del nodo
int dato;
struct nodo *siguiente;
};
main()
{
struct nodo *cabeza;
struct nodo *nuevo;
struct nodo *aux;
cabeza=NULL;
int valor; //el valor que se va a almacenar
int recorrer=0; //
int total_Nodos; //cantidad de nodos que deseamos crear
int cont=0;
float acum=0, prom;
cout<<"\n\n\n\t\t'''Programa Para ingresar Lista'''";
cout<<"\n\n\n\t\tDigite la cantidad de Nodos de la Lista: ";
cin>>total_Nodos; //captura la cantidad de nodo aque desea ingresar en la lista
for(int x=1; x<=total_Nodos; x++)
{
nuevo=(struct nodo*)malloc(sizeof(struct nodo)); //instruccion que indica a la memoria la reserva de espacio en memoria para la creacion de nodos
if(nuevo!=NULL) //pregunta si el nodo si se creo en memoria
{
nuevo->siguiente=cabeza; //
cout<<"\n\tDigite el dato #"<<x<<": ";
cin>>valor; //lee el valor que ingresaron
nuevo->dato=valor; //se asigna el valor al nodo en su campo dato
cabeza=nuevo; //la cabeza apunta al nuevo nodo
acum=acum+valor;
cont=cont+1;
}
prom=acum/cont;
}
cout<<"\nDesea ver los datos de la Lista SI(1)/NO(0)";
cin>>total_Nodos; //reutilizacion de la variables para visualizar los nodos
if(total_Nodos ==1) //opcion1
{
system("cls");
while(nuevo!=NULL) //
{
recorrer++; //funciona como contador para re
cout<<"\n\tEl dato del nodo" <<recorrer<<"->"<<nuevo->dato;
nuevo=nuevo->siguiente; //pasa al nodo siguiente
}
cout<<"\n\n\tEl Promedio de los valores de la lista es "<<prom<<"\n";
}
else
{
system("cls");
cout<<"\n\n\n\t\t'Gracias por usar el programa'";
}
system("pause");
}
Espero puedan ayudarme, Muchas Gracias Saludos!
//por ahora el codigo solo crea nodos, los llena, muestra sus valores y realiza el promedio de todos los valores de la lista
#include<iostream> //librerias
#include<stdlib.h>
using namespace std;
struct nodo{ //definir la estructura del nodo
int dato;
struct nodo *siguiente;
};
main()
{
struct nodo *cabeza;
struct nodo *nuevo;
struct nodo *aux;
cabeza=NULL;
int valor; //el valor que se va a almacenar
int recorrer=0; //
int total_Nodos; //cantidad de nodos que deseamos crear
int cont=0;
float acum=0, prom;
cout<<"\n\n\n\t\t'''Programa Para ingresar Lista'''";
cout<<"\n\n\n\t\tDigite la cantidad de Nodos de la Lista: ";
cin>>total_Nodos; //captura la cantidad de nodo aque desea ingresar en la lista
for(int x=1; x<=total_Nodos; x++)
{
nuevo=(struct nodo*)malloc(sizeof(struct nodo)); //instruccion que indica a la memoria la reserva de espacio en memoria para la creacion de nodos
if(nuevo!=NULL) //pregunta si el nodo si se creo en memoria
{
nuevo->siguiente=cabeza; //
cout<<"\n\tDigite el dato #"<<x<<": ";
cin>>valor; //lee el valor que ingresaron
nuevo->dato=valor; //se asigna el valor al nodo en su campo dato
cabeza=nuevo; //la cabeza apunta al nuevo nodo
acum=acum+valor;
cont=cont+1;
}
prom=acum/cont;
}
cout<<"\nDesea ver los datos de la Lista SI(1)/NO(0)";
cin>>total_Nodos; //reutilizacion de la variables para visualizar los nodos
if(total_Nodos ==1) //opcion1
{
system("cls");
while(nuevo!=NULL) //
{
recorrer++; //funciona como contador para re
cout<<"\n\tEl dato del nodo" <<recorrer<<"->"<<nuevo->dato;
nuevo=nuevo->siguiente; //pasa al nodo siguiente
}
cout<<"\n\n\tEl Promedio de los valores de la lista es "<<prom<<"\n";
}
else
{
system("cls");
cout<<"\n\n\n\t\t'Gracias por usar el programa'";
}
system("pause");
}
Espero puedan ayudarme, Muchas Gracias Saludos!