martes, 17 de abril de 2018

punto 3 implementacion iterativa

#include <iostream>
#include <stdio.h>
#include<conio.h>
#include <time.h>
using namespace std;

int sum(int numb, int cant){
    int product=0;
   
    for (int i=1;i<=cant;i++)
    {
    numb *= cant;
    }
    product=numb;
   
    return product;
 }

int main(){

int nu;
int x;

cout<<"Digite el numero a trabajar";
cin>> nu;

cout<<"\nDigite cantidad de veces a sumar";
cin>> x;

cout<<"\n La respuesta es:";
cout<<sum(nu,x);

getch();

}

punto 2 Funcion Trazar suma recursiva

#include <iostream>
#include <stdio.h>
#include<conio.h>
#include <time.h>
using namespace std;

int sum(int numb, int cant){
    int product=1;
    product=numb*cant;
   
    return product;
 }

int main(){

int nu;
int x;

cout<<"Digite el numero a trabajar";
cin>> nu;

cout<<"\nDigite cantidad de veces a sumar\n "<<endl;
cin>> x;

for(int i=1;i<=x;i++)
{
cout<<nu<<" + ";
}


cout<<"\n\n La respuesta es:";
cout<<sum(nu,x);

getch();

}

punto 1 Funcion suma recursiva

#include <iostream>
#include <stdio.h>
#include<conio.h>
#include <time.h>
using namespace std;

int sum(int numb, int cant){
    int product=1;
    product=numb*cant;
   
    return product;
 }

int main(){

int nu;
int x;

cout<<"Digite el numero a trabajar";
cin>> nu;

cout<<"\nDigite cantidad de veces a sumar";
cin>> x;

cout<<"\n La respuesta es:";
cout<<sum(nu,x);

getch();

}

martes, 20 de marzo de 2018

Lista doblemente enlazada mostrar de primero a ultimo y viceversa

#include<iostream>
using namespace std;

struct ListaD{
    int info;
    struct ListaD *sig;
    struct ListaD *ant;
};

void crearCabLD(struct ListaD *&cab,int info){
    cab=new ListaD;
    cab->info=info;
    cab->sig=cab->ant=NULL;
}

void agregarNodoLD(struct ListaD *&cab,int info){
    struct ListaD *aux=cab;
    while(aux->sig){
        aux=aux->sig;
    }
    aux->sig=new ListaD;
    aux->sig->ant=aux;
    aux=aux->sig;
    aux->info=info;
    aux->sig=NULL;
}

void crearListaLD(struct ListaD *&cab){
    int info=666;
    while(info>0){
        cout<<endl<<"Dato: ";
        cin>>info;
        if(info>0){
            if(!cab){
                crearCabLD(cab,info);
            }
            else{
                agregarNodoLD(cab,info);
            }
        }
    }
}

void Mostrar(struct ListaD *&cab){
    struct ListaD *aux=cab;
    while(aux->sig!=NULL){
        cout<<aux->info<<"\t";
        aux=aux->sig;
    }
    cout<<aux->info<<"\t\n";

    while(aux!=cab){
        cout<<aux->info<<"\t";
        aux=aux->ant;
    }
    cout<<aux->info<<"\t";
}

main(){
    struct ListaD *cab=NULL;
    crearListaLD(cab);
    Mostrar(cab);
}

pseudocodigo antes y despues de nodo pedido

INSERTARANTES(P,DATO,REF){
inserta el nodo antes que otro con información X en una lista doblemente ligada
(Q,X,T =variables de tipo puntero, F ultimo nodo)
1. Hacer q:=P y BAND:=0
2. Repetir mientras (Q->inf!=REF&&BAND==0)
    2.1 Si (Q->lig!=NULL)
         hacer Q:=Q->LDER, T:=Q
         sino  BAND:=1
     2.2 Fin paso 2.1
3. Fin paso 2
4. Si BAND=1
    entonces "Elemento no fue encontrado"
    sino  Crear X,  Hacer T:=Q->LIZ, X->inf:=DATO,
         X->LDE:=Q
         X->LIZ:=T
         Q->LIZ:=X, T->LDE:=X
5.  Fin paso 4.

INSERTARDESPUES(P,DATO,REF){
inserta el nodo despues que otro con información X en una lista doblemente enlazada
(Q,X,T =variables de tipo puntero, F ultimo nodo)
1. Hacer q:=P y BAND:=0
2. Repetir mientras (Q->inf!=REF&&BAND==0)
    2.1 Si (Q->lig!=NULL)
         hacer Q:=Q->LIZ, T:=Q
         sino  BAND:=1
     2.2 Fin paso 2.1
3. Fin paso 2
4. Si BAND=1
    entonces "Elemento no fue encontrado"
    sino  Crear X,  Hacer T:=Q->LDE, X->inf:=DATO,
         X->LIZ:=Q
         X->LDE:=T
         Q->LDE:=X, T->LIZ:=X
5.  Fin paso 4.

miércoles, 14 de febrero de 2018

ejercicio lista simple

#include <stdio.h>
#include <stdlib.h>

struct nodo {
 char est;
 int cod;
 struct nodo *sig;
};

main()
{
 int i = 0;
 int num;
 char x;
 struct nodo *p,*q;
 printf ("favor digite nombre del estudiante");
 scanf("%s",&x);
 printf ("favor digite codigo del estudiante");
 scanf("%d",&num);
 p=(struct nodo *) malloc (sizeof (struct nodo));
 p->cod=num;
 p->est=x;
 p->sig=NULL;
 
while (i<2){
 q=(struct nodo *)malloc (sizeof(struct nodo));
 printf ("favor digite nombre del estudiante");
 scanf("%s",&x);
 printf ("favor digite codigo del estudiante");
 scanf("%d",&num);
 q->sig=p;
 p=q;
 i++;
} 
}

Lista simple

#include <stdio.h>
#include <stdlib.h>

struct nodo {
 int inf;
 struct nodo *sig;
};

main()
{
 int i = 0;
 int num;
 struct nodo *p,*q;
 printf ("favor digite numero");
 scanf("%d",& num);
 p=(struct nodo *) malloc (sizeof (struct nodo));
 p->inf=num;
 p->sig=NULL;
 
while (i<5){
 q=(struct nodo *)malloc (sizeof(struct nodo));
 printf("Si est an gentil digite el HP numero :");
 scanf("%d",&num);
 q->sig=p;
 p=q;
 i++;
} 
}