Ir al contenido principal

Programación en c++: Lista - inserta, media, mayor y menor de una lista





#include <iostream.h>
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <ctype.h>
 //mcwH290890//
 struct nodo
  {
   int n;
   struct nodo*sgte;
   };
   typedef struct nodo*Tlista;
   void inserta(Tlista &,int);
   void elimina_inicio(Tlista &);
   void elimina_fin(Tlista &);
   void elimina_elemento(Tlista &,int);
   void elimina_lista(Tlista &);
   void media(Tlista );
   void busqueda(Tlista, int);
   void eliminarepetidos(Tlista &);
   void unelista(Tlista &,Tlista &,Tlista &);
   void mayorlista(Tlista );
   void menorlista(Tlista);
   void eliminapares(Tlista &);
   void numerosprimos(Tlista);
   void ordenaburbuja(Tlista);
   void imprimeinver(Tlista);
   void imprimir(Tlista);
    //cuerpo de la funcion
void imprimir(Tlista lista)
 {
  if(lista==NULL)
  cout<<"la lista vacia, por favor ingrese elementos";
  while(lista!=NULL)
  {
   cout<<lista->n<<endl;
   lista=lista->sgte;
   }
   cout<<endl;
   }
void imprimeinver(Tlista lista)
{
 int x[20],k=0;
 if(lista!=NULL)
 cout<<"la lista vacia, x fa ingrese elementos";
 while(lista!=NULL)
 {
  lista=lista->sgte;
   x[k]=lista->n;
    for(int i=0;i>=0;i--)
    cout<<x[i];
    }
    }
void inserta(Tlista &lista,int k)
 {
  int i;
  Tlista q;
  for(i=0;i<k;i++)
   {
    q=new(struct nodo);
    cout<<"\n\t ELEMENTO ["<<i<<"] :";
    cin>>q->n;
    q->sgte=lista;
    lista=q;
    }
    }
void elimina_inicio(Tlista &lista)
 {
  struct nodo*p;
  if(lista!=NULL)
    {
     p=lista;
     lista=lista->sgte;
     delete(p);
     }
     }
void elimina_fin(Tlista &lista)
  {
   Tlista p,ant;
   if(lista==NULL) return;
   p=lista;
   if(lista->sgte==NULL)
   lista=lista->sgte;
   else
   {
   while(p->sgte!=NULL)
   {
   ant=p;
   p=p->sgte;
   }
   ant->sgte=NULL;
   }
   delete(p);
  }
void elimina_elemento(Tlista &lista,int valor)
  {
   Tlista p,ant;
   p=lista;
  while(p!=NULL)
  {
  if(p->n==valor)
  {
  if(p==lista)
  lista=lista->sgte;
  else
  ant->sgte=p->sgte;
  delete(p);
  return;
  }
  ant=p;
  p=p->sgte;
  }
  }
void elimina_lista(Tlista &lista)
  {
  Tlista p;
  while(lista!=NULL)
  {
  p=lista;
  lista=lista->sgte;
  delete(p);
  }
  }
void media(Tlista lista)
           {
            Tlista q;
            int i=0;
            int p;
            q=lista;
            while(q!=NULL)
             {
             i++;
           q=q->sgte;
           }
              cout<<" la lista tiene "<<i<<" elementos"<<endl;
               q=lista;
               for(p=1; q!=NULL;  p++)
                {
                 if(  i%2==0)
         {
                  if(p==i/2)
                  {
                   cout<<"\n\t la media";
                   cout<<q->n<<" , ";
                   q=q->sgte;
                   cout<<q->n;
                   return;
       }
           else
                    {
                    q=q->sgte;
         }
             }
                  else
                     {
                     if(p==(i+1)/2)
         {
                      cout<<" la media:";
        cout<<q->n;
        return ;
        }
              else
                        {  q=q->sgte;
             }
                 }
                       }
                         }
void busqueda(Tlista lista, int valor)
      {
       while (lista!=NULL)
     {
        if (valor ==lista->n)
          {
            cout<<"\n\telemento encontrado ";
    return;
            }
   lista=lista->sgte;
   }
  cout<<"\n\telemento no habido ";
      }
void eliminarepetidos(Tlista &lista)
    {
     Tlista t,r, a;
     Tlista p=lista;
      while(p!=NULL)
     {
            t=p;
     r=t->sgte;
       while(r!=NULL)
          {
                       if (p->n==r->n)
        {
                        a=r;
        t->sgte=r->sgte;
        r=r->sgte;
        delete(a);
        }
             else {t=r;
             r=r->sgte; }
             }
                   p=p->sgte;
                   }
                         }
void unelista(Tlista &lista1, Tlista &lista2, Tlista &lista3)
  {
   Tlista t;
   t=lista1;
    if(lista1!=NULL)
     {
   while (t->sgte!=NULL)
    {
         t=t->sgte;
    }
      t->sgte=lista2;
      lista3=lista1;
     }
        else
         {
         lista3=lista2;
     }
         lista1=NULL;
         lista2=NULL;
         }
 void mayorlista(Tlista lista)
 {
  int mayor=0;
  while(lista!=NULL)
  {
     if (lista->n>mayor)
     {
      mayor=lista->n;
  }
   lista=lista->sgte;
     }
       cout<<"\n\t  el mayor es:"<<mayor;
       }
void menorlista(Tlista lista)
{
 int menor=999;
 while(lista!=NULL)
  {
       if(lista->n<menor)
   {
          menor= lista->n;
         }
      lista=lista->sgte;
      }
       cout<<" el menor es:"<<menor;
         }
void eliminapares(Tlista &lista)
{
 Tlista q,a,p,t,m;
 q=new(struct nodo);
 q->n=1;
 q->sgte=lista;
 lista=q;
 p=lista;
 a=p->sgte;
  while(a!=NULL)
  {
     if( a->n%2==0)
     {
      p->sgte=a->sgte;
      t=a;
      a=a->sgte;
      delete(t);
      }
  else
      {
       p=a;
   a=a->sgte;
   }
   }
       m=lista;
       lista=lista->sgte;
       delete(m);
      }
void numerosprimos(Tlista lista)
 {
  int band;
  int num;
  while(lista!=NULL)
  {
       num=lista->n;
   band=1;
     for(int i=2; i<=num/2 ;i++)
           {
            if(num%i==0)
           {
            band=-1;
           }
           }
           if(band==1)
     {
            cout<<lista->n<<" , ";
     }
     lista=lista->sgte;
           }
           }
void ordenaburbuja(Tlista lista )
{   Tlista p,t;
  Tlista marca=NULL;
  int tmp;
  if (lista==NULL)  { return;  }
  else
   {
  while(lista->sgte!=marca)
  {  p=lista;
   t=p->sgte;
      while(t!=marca)
               {
                if (p->n>t->n)
               {
                tmp=p->n;
      p->n=t->n;
                t->n=tmp;
                 }
                 else
                  {
                   p=t;
                   t=t->sgte; }
                  }
                   marca=p;
               }
               }
                   }
  //**************************funcion main**************************************//
                    void main()
                      {
                       Tlista lista1,lista2,lista3,lista;
                       lista1=lista2=lista3=lista=NULL;
                       int valor;
                       char opc,opcion;
                        textbackground(BLUE);
                        do
                         {
                           clrscr();
                           cout<<"\n\ta.INSERTA  ELEMENTOS"<<endl;
                           cout<<"\n\tb.ELIMINAR AL INICIO"<<endl;
                           cout<<"\n\tc.ELIMINAR AL FINAL"<<endl;
                           cout<<"\n\td.ELIMINAR ELEMENTO DADO"<<endl;
                           cout<<"\n\te.ELIMINAR TODA LA LISTA"<<endl;
                           cout<<"\n\tf.IMPRIMIR LISTA"<<endl;
                           cout<<"\n\tg.MEDIA DE LA LISTA"<<endl;
                           cout<<"\n\th.BUSQUEDA DE ELEMENTO"<<endl;
                           cout<<"\n\ti.ELIMINA ELEMENTOS REPETIDOS"<<endl;
                           cout<<"\n\tj.UNE DOS LISTAS"<<endl;
                           cout<<"\n\tk.MAYOR DE LA LISTA"<<endl;
                           cout<<"\n\tl.MENOR DE LA LISTA"<<endl;
                           cout<<"\n\tm.ELIMINA NUMEROS PARES"<<endl;
                           cout<<"\n\tn.NUMEROS PRIMOS"<<endl;
                           cout<<"\n\to.ORDENA POR BURBUJA"<<endl;
                           cout<<"\n\tp.IMPRIME INVERTIDO"<<endl;
                           cout<<"\n\tx.SALIR"<<endl;
                           opcion=getche();
                           while(!strchr("abcdefghijklmnopx",opcion));
                             switch(opcion)
                             {
                              case 'a':{clrscr();
                                      cout<<"\n\tINGRESE LIMITE DE LA LISTA:";
                                      cin>>valor;
                                      inserta(lista,valor);
                                      }
                                      break;
                              case 'b':{clrscr();
                                    cout<<"\n\tELIMINAR AL INICIO";
                                    elimina_inicio(lista);
                                    }
                                    break;
                              case 'c':{clrscr();
                                    cout<<"\n\tELIMINA AL FINAL";
                                    elimina_fin(lista);
                                    }
                                    break;
                              case 'd':{clrscr();
                                     cout<<endl<<"\n\tELIMINA ELEMENTO"<<endl;
                                     cout<<"\n\tVALOR A ELIMINAR:";
                                     cin>>valor;
                                     elimina_elemento(lista,valor);
                                     }
                                     break;
                             case 'e':{clrscr();
                                    cout<<endl<<"\n\tELIMINA LISTA";
                                    elimina_lista(lista);
                                    }
                                    break;
                             case 'f':{clrscr();
                                    cout<<endl<<"\n\tLISTADO"<<endl;
                                    imprimir(lista);
                                    }
                                    break;
                            case 'g':{ clrscr();
                                     cout<<"\n\tmedia de la lista "<<endl;
                        media(lista);
                                    }
                        break;
                            case 'h':{ clrscr();
                                     cout<<"\n\tingrese elemento a buscar:";
                                     cin>>valor;
                                     busqueda(lista,valor);
                                     }
                                     break;
                            case 'i':{clrscr();
                                      cout<<"\n\teliminados elementos repetidos";
                                      eliminarepetidos(lista);
                                     }
                                      break;
                            case 'j':{clrscr();
                                      cout<<"\n\tUNIENDO LISATA";
                                      cout<<"\n\tingrese el limite de las listas:";
                                      cin>>valor;
                                      cout<<"\n\tingrese valores a la lista A";
                                      inserta(lista1,valor);
                                      cout<<"ingresa valores a la lista B";
                                      inserta(lista2,valor);
                                      cout<<"\n\tlista ingresados son:";
                                      cout<<"\n\tlista A"<<endl;
                                      imprimir(lista1);
                                      cout<<"\n\tlista B"<<endl;
                                      imprimir(lista2);
                                      cout<<"\n\tlistas unidas"<<endl;
                                      unelista(lista1,lista2,lista3);
                                      imprimir(lista3);
                                      }
                                      break;
                            case 'k':{clrscr();
                                      cout<<"\n\tel mayor elemento:"<<endl;
                                      mayorlista(lista);
                                      }
                                      break;
                            case 'l':{clrscr();
                                     cout<<"\n\tel menor de la lista"<<endl;
                                     menorlista(lista);
                                     }
                                     break;
                            case 'm':{clrscr();
                                     cout<<"\n\teliminados los numeros pares"<<endl;
                                     eliminapares(lista);
                                     }
                                     break;
                            case 'n':{clrscr();
                                     cout<<"\n\t los numeros primos"<<endl;
                                     numerosprimos(lista);
                                     }
                                     break;
                            case 'o':{clrscr();
                                     cout<<"\n\tordena por burbuja"<<endl;
                                     ordenaburbuja(lista);
                                     cout<<"\n\tlista ordenada"<<endl;
                                     imprimir(lista);
                                     }
                                     break;
                            case 'p':{clrscr();
                                     cout<<"\n\timprime imvertido"<<endl;
                                     imprimeinver(lista);
                                     }
                                     break;
                                     }
                                     cout<<"\n\tregresa al menu [s] o [n]:";cin>>opcion;
                                     }
                              while(opcion!='n');
                              cout<<endl;
                            cout<<"\n\tgracias por su visita vuelva  pronto.........";
                            getche();
                              }

listas enlazadas

listas enlazadas

listas enlazadas

listas enlazadas

listas enlazadas

Comentarios

Entradas más populares de este blog

Programación en c++ : Matriz - Calcular mayor de la matriz

1.- Hacer un programa que permita ingresar n datos de una matriz y calcular el mayor de la matriz. #include<iostream.h> #include<conio.h> #define lim 50 void main() {int i,j,a[lim][lim],fila,col,  may=a[0][0];  clrscr(); do {cout<<"Ingresar limite de la fila:";  cin>>fila; }while(fila<=0); do {cout<<"Ingesar limite de la columna:";  cin>>col; }while(col<=0); gotoxy(10,7); cout<<"Ingresar Elementos de la matriz\n\n"; for(i=0;i<fila;i++) for(j=0;j<col;j++) {cout<<"a["<<i<<"]"<<"["<<j<<"]";  cin>>a[i][j]; } for(i=0;i<fila;i++) for(j=0;j<col;j++) if(a[i][j]>may) may=a[i][j]; clrscr(); gotoxy(10,7); cout<<"Elementos de la matriz\n\n"; for(i=0;i<fila;i++) for(j=0;j<col;j++) {cout<<a[i][j];  cout<<"\n"; } clrscr(); gotoxy(10,20); cout...

Mostrar y Modificar una tabla en Netbeans

Continuando con el ejercicio anterior, ahora veremos como modificar una tabla creada en SLQ Server  desde Netbeans. Para ello sólo adicionaremos algunos códigos, en este caso siguiendo con el ejercicio anterior sólo agregamos en el index.jsp lo siguiente: <td align="center"><a href ="frmProductos.jsp?txtpara=M&txtid = <%= objpro.getcodigo() %>"><img src="images/upd.gif"></a></td> En el java class Productos, aparte de crear el método mostrar, crearemos dos métodos más: Método para Buscar y para Modificar, pero primero antes de todo declaramos nuestras variables como privado, creamos un constructor y luego aplicamos un Getter and Setter como se muestra en las siguientes imágenes:   Después de haber hecho el paso anterior, creamos un nuevo jsp la cual llamaremos frmProductos y escribimos la siguiente codificación: Luego creamos otro package que llamaremos Servlet, dentr...

Programación en c++: Arreglos - Buscar un elemento

1.- #include<iostream.h> #include<conio.h> #define MAX 100 void main() {int n, elem, i,a[MAX],band; clrscr(); cout<<"Limite:"; cin>>n; cout<<endl; for(i=0;i<n;i++) {cout<<"ELEMENTO ="; cin>>a[i]; } cout<<endl; cout<<"Ingrese elemento a buscar:"; cin>>elem; band=1; if(elem==a[i]) cout<<"Elemento encontrado"<<endl; if(band==0) cout<<"Elemento no encontrado"<<endl; getch(); }