• Viernes 15 de Noviembre de 2024, 13:25

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - JZtban

Páginas: [1]
1
C/C++ / Listas en c++
« en: Miércoles 15 de Mayo de 2013, 15:25 »
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

Código: C++
  1. #include<iostream> //librerias
  2. #include<stdlib.h>
  3.  
  4. using namespace std;
  5.  
  6. struct nodo{ //definir la estructura del nodo
  7.        int dato;
  8.        struct nodo *siguiente;
  9. };
  10.  
  11. main()
  12. {
  13.       struct nodo *cabeza;
  14.       struct nodo *nuevo;
  15.       struct nodo *aux;
  16.       cabeza=NULL;
  17.       int valor; //el valor que se va a almacenar
  18.       int recorrer=0; //
  19.       int total_Nodos; //cantidad de nodos que deseamos crear
  20.       int cont=0;
  21.       float acum=0, prom;
  22.      
  23.       cout<<"\n\n\n\t\t'''Programa Para ingresar Lista'''";
  24.       cout<<"\n\n\n\t\tDigite la cantidad de Nodos de la Lista: ";
  25.       cin>>total_Nodos; //captura la cantidad de nodo aque desea ingresar en la lista
  26.      
  27.       for(int x=1; x<=total_Nodos; x++)
  28.       {
  29.               nuevo=(struct nodo*)malloc(sizeof(struct nodo)); //instruccion que indica a la memoria la reserva de espacio en memoria para la creacion de nodos
  30.               if(nuevo!=NULL) //pregunta si el nodo si se creo en memoria
  31.               {
  32.                        nuevo->siguiente=cabeza; //
  33.                        cout<<"\n\tDigite el dato #"<<x<<": ";
  34.                        cin>>valor; //lee el valor que ingresaron
  35.                        nuevo->dato=valor; //se asigna el valor al nodo en su campo dato
  36.                        cabeza=nuevo; //la cabeza apunta al nuevo nodo
  37.                        acum=acum+valor;
  38.                        cont=cont+1;
  39.               }
  40.               prom=acum/cont;
  41.       }
  42.      
  43.                                                
  44.       cout<<"\nDesea ver los datos de la Lista SI(1)/NO(0)";
  45.       cin>>total_Nodos; //reutilizacion de la variables para visualizar los nodos
  46.      
  47.       if(total_Nodos ==1) //opcion1
  48.       {
  49.                      system("cls");
  50.                      while(nuevo!=NULL) //
  51.                      {
  52.                                        recorrer++; //funciona como contador para re
  53.                                        cout<<"\n\tEl dato del nodo" <<recorrer<<"->"<<nuevo->dato;
  54.                                        nuevo=nuevo->siguiente; //pasa al nodo siguiente
  55.                      }
  56.                      cout<<"\n\n\tEl Promedio de los valores de la lista es "<<prom<<"\n";
  57.       }
  58.       else
  59.       {
  60.           system("cls");
  61.           cout<<"\n\n\n\t\t'Gracias por usar el programa'";
  62.      
  63.       }
  64.       system("pause");
  65. }



Espero puedan ayudarme, Muchas Gracias Saludos!

Páginas: [1]