Para Ayuda de EDA

download Para Ayuda de EDA

of 31

Transcript of Para Ayuda de EDA

  • 8/15/2019 Para Ayuda de EDA

    1/31

    PROGRAMA CON VARIOS MENUS...!!!

    #include #include #include

    struct nodo{ int nro;

    struct nodo *sgt;  struct nodo *ant;};

    typedef struct nodo *Tlista;

    void InsertaInicio(Tlista &lista, int valor){ Tlista p=new(struct nodo);

    p->nro=valor;  if(lista==NULL)  { lista=p;  p->sgt=NULL;  p->ant=NULL;  }

      else

      { p->sgt=lista;  p->ant=lista->ant;  lista->ant=p;  lista=p;  }}

    void InsertaFinal(Tlista &lista,int valor){ Tlista q,p=new(struct nodo);

    p->nro=valor;  q=lista;  if(lista==NULL)  { lista=p;

      p->sgt=NULL;  p->ant=NULL;  }  else  { while(q->sgt!=NULL)  { q=q->sgt;  }  p->sgt=q->sgt;  q->sgt=p;  p->ant=q;  }}

    void visualizar(Tlista lista){ int i=1;

    while(lista!=NULL){ cout

  • 8/15/2019 Para Ayuda de EDA

    2/31

    void EliminaLista(Tlista &lista){ lista=NULL;}

    void EliminaElem(Tlista &lista,int elem){ Tlista p=lista;

    int existe=0;  while(p!=NULL)  { if(p->nro==elem)  {  if(p->ant==NULL && p->sgt==NULL)//es el unico elemento en la lista  { p==NULL;  lista=p;  goto fin;  }  else  { if(p->ant==NULL) // cuando el elemento esta al inicio  { lista->sgt->ant=NULL;  lista=lista->sgt;  }  else  { if(p->sgt==NULL)//cuando el elemento se encuentra al final

      { p->ant->sgt=NULL;  p=p->sgt;  }  else  { p->ant->sgt=p->sgt;  p->sgt->ant=p->ant;  p=p->ant;  }  }  }  existe=1;  }  p=p->sgt;

      }  fin:  if(existe==1)  cout

  • 8/15/2019 Para Ayuda de EDA

    3/31

    int pos=2;if(listaA!=NULL)

      { while(p!=NULL)  { p=p->sgt;  pos++;  if(pos==x)  { p->sgt=listaB;  listaB=p->sgt->ant;  lista=listaA;  }  }  }  else  { lista=listaB;  listaA=NULL;  listaB=NULL;  }}

    void DividePos(Tlista &lista,Tlista &listaA,Tlista &listaB,int x){ Tlista p=lista;

    int pos,i;  for(pos=0;p!=NULL;pos++)  { p=p->sgt;

      }  p=lista;  pos=x;  for(i=1;p!=NULL;i++,p=p->sgt)  { if(inro);  else  InsertaFinal(listaB,p->nro);  }}

    void UnelistaValor(Tlista &lista,Tlista &listaA,Tlista &listaB,int x){ Tlista p=listaA;

    if(listaA!=NULL)  { while(p->sgt!=NULL)  { p=p->sgt;  if(p->nro==x)  { p->sgt=listaB;  listaB=p->sgt->ant;  lista=listaA;  }  }  }  else  { lista=listaB;  listaA=NULL;

      listaB=NULL;  }}

    void DivideValor(Tlista &lista,Tlista &listaA,Tlista &listaB, int x){ Tlista p=lista;

    int pos,pos1,i;  for(pos=1;p->sgt!=NULL;pos++)  { if(p->nro==x)  pos1=pos;

  • 8/15/2019 Para Ayuda de EDA

    4/31

      p=p->sgt;  }  p=lista;

      cout

  • 8/15/2019 Para Ayuda de EDA

    5/31

      EliminaElem(lista,elem);  getch();clrscr();break;  case 6:  coutelem;  if(BuscaElem(lista,elem,pos)==true)  cout

  • 8/15/2019 Para Ayuda de EDA

    6/31

      InsertaFinal(listaB,valor);  }  coutx;  UnelistaValor(lista,listaA,listaB,x);  visualizar(lista);  getch();clrscr();break;  case 10:  coutn;  for(i=1;i

  • 8/15/2019 Para Ayuda de EDA

    7/31

    Tlista lista=NULL;int opc,valor,pos;bool R;do{cout

  • 8/15/2019 Para Ayuda de EDA

    8/31

    }break;

    case 4:cout

  • 8/15/2019 Para Ayuda de EDA

    9/31

    lista = nu;  }}

    void InsertaAlFinal(Tlista&lista,int valor){Tlista pos,nu;nu = new (struct nodo);nu->nro = valor;pos = lista;

    if(lista == NULL)  {

    lista = nu;lista->sgte = NULL;lista->ante = NULL;  }else  {

    while (pos->sgte!= NULL) { pos = pos->sgte; }nu->sgte = pos->sgte;pos->sgte = nu;nu->ante = pos;  }}

    bool Busqueda(Tlista lista, int num,int& pos){

    Tlista aux = lista;pos=0;while (aux != NULL)  {

    if (aux->nro == num){

    return true;  }aux = aux->sgte;pos++;

      } return false;}

    void EliminarLista(Tlista& lista){

    lista = NULL;}

    void Imprimir(Tlista lista){  Tlista aux = lista;  int i = 0;  while (lista != NULL)

      {  cout

  • 8/15/2019 Para Ayuda de EDA

    10/31

    void imprimeinver(Tlista lista){ Tlista aux=lista; int i=0; while(lista!=NULL) {  cout

  • 8/15/2019 Para Ayuda de EDA

    11/31

    aux->ante->sgte = aux->sgte;aux->sgte->ante = aux->ante;

    aux = aux->ante;}

      } }existe = true;  }

    aux = aux->sgte;  }fin:if(existe)  {

    cout= aux2->nro){

    cambiar = aux1->nro;aux1->nro = aux2->nro;

    aux2->nro = cambiar;}aux2 = aux2->sgte;}aux1 = aux1->sgte;}

      }}

    ----------------------------------------------------------------------------------------

    --------------------------------------------------------------------------------

    --------PROGRAMA SOBRE ENCUESTA

    #include #include #include #include #include #include #include

  • 8/15/2019 Para Ayuda de EDA

    12/31

    #define MAX 100

    typedef struct{  char nombre[25];  int edad;  char estado;  }persona;

    typedef struct{int calificacion;int comida;persona per;}gustos;

     gustos prefe[MAX]; void leerentrada(int i); void escribirsalida(int i); void escribir_orden(int);/******************************************************/int main(){ int i,n; clrscr();

     cout

  • 8/15/2019 Para Ayuda de EDA

    13/31

     } /**************************************************************/

     void escribirsalida(int i) { cout

  • 8/15/2019 Para Ayuda de EDA

    14/31

    #include #include

    struct nodo{ int nro;

    struct nodo *sgt;  struct nodo *ant;};

    typedef struct nodo *Tlista;

    void InsertaInicio(Tlista &lista, int valor){ Tlista p=new(struct nodo);

    p->nro=valor;  if(lista==NULL)  { lista=p;  p->sgt=NULL;  p->ant=NULL;  }

      else  { p->sgt=lista;  p->ant=lista->ant;  lista->ant=p;

      lista=p;  }}

    void InsertaFinal(Tlista &lista,int valor){ Tlista q,p=new(struct nodo);

    p->nro=valor;  q=lista;  if(lista==NULL)  { lista=p;  p->sgt=NULL;  p->ant=NULL;  }

      else  { while(q->sgt!=NULL)  { q=q->sgt;  }  p->sgt=q->sgt;  q->sgt=p;  p->ant=q;  }}

    void visualizar(Tlista lista){ int i=1;

    while(lista!=NULL)

    { cout

  • 8/15/2019 Para Ayuda de EDA

    15/31

    void EliminaElem(Tlista &lista,int elem){ Tlista p=lista;

    int existe=0;  while(p!=NULL)  { if(p->nro==elem)  {  if(p->ant==NULL && p->sgt==NULL)//es el unico elemento en la lista  { p==NULL;  lista=p;  goto fin;  }  else  { if(p->ant==NULL) // cuando el elemento esta al inicio  { lista->sgt->ant=NULL;  lista=lista->sgt;  }  else  { if(p->sgt==NULL)//cuando el elemento se encuentra al final  { p->ant->sgt=NULL;  p=p->sgt;  }

      else  { p->ant->sgt=p->sgt;  p->sgt->ant=p->ant;  p=p->ant;  }  }  }  existe=1;  }  p=p->sgt;  }  fin:  if(existe==1)

      cout

  • 8/15/2019 Para Ayuda de EDA

    16/31

      { p=p->sgt;  pos++;  if(pos==x)  { p->sgt=listaB;  listaB=p->sgt->ant;  lista=listaA;  }  }  }  else  { lista=listaB;  listaA=NULL;  listaB=NULL;  }}

    void DividePos(Tlista &lista,Tlista &listaA,Tlista &listaB,int x){ Tlista p=lista;

    int pos,i;  for(pos=0;p!=NULL;pos++)  { p=p->sgt;  }  p=lista;  pos=x;

      for(i=1;p!=NULL;i++,p=p->sgt)  { if(inro);  else  InsertaFinal(listaB,p->nro);  }}

    void UnelistaValor(Tlista &lista,Tlista &listaA,Tlista &listaB,int x){ Tlista p=listaA;

    if(listaA!=NULL)  { while(p->sgt!=NULL)  { p=p->sgt;

      if(p->nro==x)  { p->sgt=listaB;  listaB=p->sgt->ant;  lista=listaA;  }  }  }  else  { lista=listaB;  listaA=NULL;  listaB=NULL;  }}

    void DivideValor(Tlista &lista,Tlista &listaA,Tlista &listaB, int x){ Tlista p=lista;

    int pos,pos1,i;  for(pos=1;p->sgt!=NULL;pos++)  { if(p->nro==x)  pos1=pos;  p=p->sgt;  }  p=lista;

  • 8/15/2019 Para Ayuda de EDA

    17/31

      cout

  • 8/15/2019 Para Ayuda de EDA

    18/31

      coutelem;  if(BuscaElem(lista,elem,pos)==true)  cout

  • 8/15/2019 Para Ayuda de EDA

    19/31

      cin>>x;  UnelistaValor(lista,listaA,listaB,x);  visualizar(lista);  getch();clrscr();break;  case 10:  coutn;  for(i=1;i

  • 8/15/2019 Para Ayuda de EDA

    20/31

      void imprimir(Tlista);

      //cuerpo de la funcionvoid imprimir(Tlista lista) {  if(lista==NULL)  cout

  • 8/15/2019 Para Ayuda de EDA

    21/31

      {  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

  • 8/15/2019 Para Ayuda de EDA

    22/31

      return; }

      else  {  q=q->sgte;

      }  }

      else  {  if(p==(i+1)/2)

      {  coutsgte=r->sgte;r=r->sgte;

    delete(a);}

      else {t=r;  r=r->sgte; }  }

      p=p->sgte;  }

      }

    void unelista(Tlista &lista1, Tlista &lista2, Tlista &lista3)

  • 8/15/2019 Para Ayuda de EDA

    23/31

      {  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;

      }  coutsgte;

      t=a;

  • 8/15/2019 Para Ayuda de EDA

    24/31

      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; in>t->n)  {  tmp=p->n;

     p->n=t->n;  t->n=tmp;  }  else  {  p=t;  t=t->sgte; }  }  marca=p;

      }

  • 8/15/2019 Para Ayuda de EDA

    25/31

      }  }

      //**************************funcion main**************************************//  void main()  {  Tlista lista1,lista2,lista3,lista;  lista1=lista2=lista3=lista=NULL;  int valor;  char opc,opcion;  textbackground(BLUE);  do  {  clrscr();  cout

  • 8/15/2019 Para Ayuda de EDA

    26/31

      cout

  • 8/15/2019 Para Ayuda de EDA

    27/31

      break;  case 'n':{clrscr();  cout

  • 8/15/2019 Para Ayuda de EDA

    28/31

      } //cuerpo de la funcion//  void push(Pila &p,int n) {Pila q=new(struct nodo); q->nro=n; q->sig=p; p=q;}

    int pop(Pila &p){int n=p->nro;Pila q=p;p=p->sig;delete(q);return n;}

    void eliminapila(Pila &p){Pila q;while(p!=NULL) {q=p; p=p->sig; delete(q); }

    }

    void imprimirpila(Pila p){while(p!=NULL) {cout

  • 8/15/2019 Para Ayuda de EDA

    29/31

      p->pto=pto;  p->sgt=NULL;  if(q.del==NULL)  q.del=p;  else  (q.atr)->sgt=p;  q.atr=p;}

    void vercola(struct cola q){ struct nodo*p;

    p=q.del;  while(p!=NULL)  { cout

  • 8/15/2019 Para Ayuda de EDA

    30/31

      }  return false;}

    void ordenar(struct cola&q){ struct nodo*p=q.del,*aux1,*aux2;

    if(p!=NULL)  { aux1=p,aux2=p->sgt;  int cambio;string nom;  while(aux1!=NULL)  { aux2=aux1->sgt;  while(aux2!=NULL)  { if(aux1->ptopto)  { cambio=aux1->pto;nom=aux1->nom;  aux1->pto=aux2->pto;aux1->nom=aux2->nom;  aux2->pto=cambio;aux2->nom=nom;  }  aux2=aux2->sgt;  }  aux1=aux1->sgt;  }  }}

    void main(){ struct cola q;

    string nom;int op,x,i,pto,pos;

      inicializa(q);  do  { cout

  • 8/15/2019 Para Ayuda de EDA

    31/31

      cout