Ola este es el Laboratorio 03 del curso de estructuras de datos que trata sobre recursividad.. espero les ayude.. Saludos
01.Factorial de un numero:
/* Factorial de un Numero */
#include <cstdlib>
#include <iostream>
using namespace std;
int factorial(int);
int main()
{
system("color E9");
int r, valor,n;
char R = 'S';
do
{
cout<<endl<<"\t ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ";
cout<<endl<<"\t º |<-[ UNIVERSIDAD NACIONAL DE TRUJILLO ]->| º ";
cout<<endl<<"\t º CURSO ::: ESTRUCTURA DE DATOS º ";
cout<<endl<<"\t º Laboratio 03 - Ejercicio 01 º ";
cout<<endl<<"\t º Hecho por InfoBik's ---> JP. Rodriguez º ";
cout<<endl<<"\t ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ "<<endl;
cout<<endl<<"\t\t IMPLEMENTE UN ALGORITMO QUE CALCULE ";
cout<<endl<<"\t\t EL FACTORIAL DE UN NUMERO: "<<endl;
cout<<endl<<"\t INGRESE NUMERO: ";
cin>>n;
cout<<endl<<"\t El Factorial del Numero Ingresado es: "<<factorial(n);
cout<<endl<<endl;
cout<<"\t DESEA CONTINUAR [S/N] : ";
cin>>R;
system("CLS");
}
while ( R == 'S' || R == 's' );
}
/////////////// FUNCION RECURSIVA PARA FACTORIAL \\\\\\\\\\\\\\\\\\
int factorial(int n)
{
if (n==0)
return 1;
else
return n*factorial(n-1);
}
#include <cstdlib>
#include <iostream>
using namespace std;
int factorial(int);
int main()
{
system("color E9");
int r, valor,n;
char R = 'S';
do
{
cout<<endl<<"\t ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ";
cout<<endl<<"\t º |<-[ UNIVERSIDAD NACIONAL DE TRUJILLO ]->| º ";
cout<<endl<<"\t º CURSO ::: ESTRUCTURA DE DATOS º ";
cout<<endl<<"\t º Laboratio 03 - Ejercicio 01 º ";
cout<<endl<<"\t º Hecho por InfoBik's ---> JP. Rodriguez º ";
cout<<endl<<"\t ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ "<<endl;
cout<<endl<<"\t\t IMPLEMENTE UN ALGORITMO QUE CALCULE ";
cout<<endl<<"\t\t EL FACTORIAL DE UN NUMERO: "<<endl;
cout<<endl<<"\t INGRESE NUMERO: ";
cin>>n;
cout<<endl<<"\t El Factorial del Numero Ingresado es: "<<factorial(n);
cout<<endl<<endl;
cout<<"\t DESEA CONTINUAR [S/N] : ";
cin>>R;
system("CLS");
}
while ( R == 'S' || R == 's' );
}
/////////////// FUNCION RECURSIVA PARA FACTORIAL \\\\\\\\\\\\\\\\\\
int factorial(int n)
{
if (n==0)
return 1;
else
return n*factorial(n-1);
}
02.Mayor, Suma y Media de elementos de un Arreglo
/* Mayor, Suma y Media de elementos de un Arreglo */
#include<iostream>
#include<cstdlib>
using namespace std;
int may_elem(int,int[]);
int sum_elem(int,int[]);
int med_elem(int,int[]);
int main()
{
system("color E9");
int opc;
char R = 'S';
do
{
cout<<endl<<"\t ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ";
cout<<endl<<"\t º |<-[ UNIVERSIDAD NACIONAL DE TRUJILLO ]->| º ";
cout<<endl<<"\t º CURSO ::: ESTRUCTURA DE DATOS º ";
cout<<endl<<"\t º Laboratio 03 - Ejercicio 02 º ";
cout<<endl<<"\t º Hecho por InfoBik's ---> JP. Rodriguez º ";
cout<<endl<<"\t ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ "<<endl;
cout<<endl<<"\t DADO UN ARREGLO DE ENTEROS, DISENIAR E IMPLEMENTAR ";
cout<<endl<<"\t ALGORITMOS RECURSIVOS QUE CALCULEN: "<<endl;
cout<<endl<<"\t 1. EL MAYOR ELEMENTO DE UN ARREGLO ";
cout<<endl<<"\t 2. LA SUMA DE LOS ELEMENTOS DE UN ARREGLO ";
cout<<endl<<"\t 3. LA MEDIA DE TODOS LOS ELEMENTOS DE UN ARREGLO "<<endl;
cout<<endl<<"\t Ingrese una opcion:::: ";
cin>>opc;
cout<<endl;
switch(opc)
{
case 1: system("CLS");
int A[50],n,i;
cout<<endl<<"\t ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ";
cout<<endl<<"\t º HAZ ESCOGIDO LA OPCION 1: CALCULAR EL º ";
cout<<endl<<"\t º MAYOR ELEMENTO DE UN ARREGLO º ";
cout<<endl<<"\t ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ "<<endl;
cout<<endl<<"\t Ingrese Cantidad de Elementos del Arreglo: ";
cin>>n;
cout<<endl;
for(i=0;i<n;i++)
{
cout<<"\t Elemento "<<i+1<<" : ";
cin>>A[i];
}
cout<<endl<<"\t El Elemento Maximo es: "<<may_elem(n,A);
cout<<endl;
break;
case 2: system("CLS");
int B[50],m,j;
cout<<endl<<"\t ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ";
cout<<endl<<"\t º HAZ ESCOGIDO LA OPCION 2: CALCULAR LA º ";
cout<<endl<<"\t º SUMA DE LOS ELEMENTOS DE UN ARREGLO º ";
cout<<endl<<"\t ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ "<<endl;
cout<<endl<<"\t Ingrese Cantidad de Elementos del Arreglo: ";
cin>>m;
cout<<endl;
for(j=0;j<m;j++)
{
cout<<"\t Elemento "<<j+1<<" : ";
cin>>B[j];
}
cout<<endl<<"\t La Suma de los Elementos Ingresados es: "<<sum_elem(m,B);
cout<<endl;
break;
case 3: system("CLS");
int C[50],k;
double num;
cout<<endl<<"\t ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ";
cout<<endl<<"\t º HAZ ESCOGIDO LA OPCION 3: CALCULAR LA º ";
cout<<endl<<"\t º MEDIA DE LOS ELEMENTOS DE UN ARREGLO º ";
cout<<endl<<"\t ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ "<<endl;
cout<<endl<<"\t Ingrese Cantidad de Elementos del Arreglo: ";
cin>>num;
cout<<endl;
for(k=0;k<num;k++)
{
cout<<"\t Elemento "<<k+1<<" : ";
cin>>C[k];
}
cout<<endl<<"\t La Media de los Elementos Ingresados es: "<<(med_elem(num,C))/num;
cout<<endl;
break;
default: cout<<"\t No se escogio ninguna opcion "<<endl<<endl;
}
cout<<endl<<"\t DESEA CONTINUAR [S/N] : ";
cin>>R;
system("CLS");
}
while ( R == 'S' || R == 's' );
}
/////////////// OPCION 1 : CALCULAR MAYOR ELEMENTO \\\\\\\\\\\\\\\\\\\\\\
int may_elem(int n,int x[])
{
if(n==1)
return x[0];
if(x[n-1]>may_elem(n-1,x))
return x[n-1];
else
return may_elem(n-1,x);
}
/////////////// OPCION 2 : CALCULAR SUMA DE ELEMENTOS \\\\\\\\\\\\\\\\\\
int sum_elem(int n,int x[])
{
if(n==1)
return x[0];
else
return x[n-1]+sum_elem(n-1,x);
}
/////////////// OPCION 3 : CALCULAR LA MEDIA DE ELEMENTOS \\\\\\\\\\\\\\\\\\
int med_elem(int n,int x[])
{
if(n==1)
return x[0];
else
return x[n-1]+med_elem(n-1,x);
}
#include<iostream>
#include<cstdlib>
using namespace std;
int may_elem(int,int[]);
int sum_elem(int,int[]);
int med_elem(int,int[]);
int main()
{
system("color E9");
int opc;
char R = 'S';
do
{
cout<<endl<<"\t ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ";
cout<<endl<<"\t º |<-[ UNIVERSIDAD NACIONAL DE TRUJILLO ]->| º ";
cout<<endl<<"\t º CURSO ::: ESTRUCTURA DE DATOS º ";
cout<<endl<<"\t º Laboratio 03 - Ejercicio 02 º ";
cout<<endl<<"\t º Hecho por InfoBik's ---> JP. Rodriguez º ";
cout<<endl<<"\t ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ "<<endl;
cout<<endl<<"\t DADO UN ARREGLO DE ENTEROS, DISENIAR E IMPLEMENTAR ";
cout<<endl<<"\t ALGORITMOS RECURSIVOS QUE CALCULEN: "<<endl;
cout<<endl<<"\t 1. EL MAYOR ELEMENTO DE UN ARREGLO ";
cout<<endl<<"\t 2. LA SUMA DE LOS ELEMENTOS DE UN ARREGLO ";
cout<<endl<<"\t 3. LA MEDIA DE TODOS LOS ELEMENTOS DE UN ARREGLO "<<endl;
cout<<endl<<"\t Ingrese una opcion:::: ";
cin>>opc;
cout<<endl;
switch(opc)
{
case 1: system("CLS");
int A[50],n,i;
cout<<endl<<"\t ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ";
cout<<endl<<"\t º HAZ ESCOGIDO LA OPCION 1: CALCULAR EL º ";
cout<<endl<<"\t º MAYOR ELEMENTO DE UN ARREGLO º ";
cout<<endl<<"\t ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ "<<endl;
cout<<endl<<"\t Ingrese Cantidad de Elementos del Arreglo: ";
cin>>n;
cout<<endl;
for(i=0;i<n;i++)
{
cout<<"\t Elemento "<<i+1<<" : ";
cin>>A[i];
}
cout<<endl<<"\t El Elemento Maximo es: "<<may_elem(n,A);
cout<<endl;
break;
case 2: system("CLS");
int B[50],m,j;
cout<<endl<<"\t ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ";
cout<<endl<<"\t º HAZ ESCOGIDO LA OPCION 2: CALCULAR LA º ";
cout<<endl<<"\t º SUMA DE LOS ELEMENTOS DE UN ARREGLO º ";
cout<<endl<<"\t ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ "<<endl;
cout<<endl<<"\t Ingrese Cantidad de Elementos del Arreglo: ";
cin>>m;
cout<<endl;
for(j=0;j<m;j++)
{
cout<<"\t Elemento "<<j+1<<" : ";
cin>>B[j];
}
cout<<endl<<"\t La Suma de los Elementos Ingresados es: "<<sum_elem(m,B);
cout<<endl;
break;
case 3: system("CLS");
int C[50],k;
double num;
cout<<endl<<"\t ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ";
cout<<endl<<"\t º HAZ ESCOGIDO LA OPCION 3: CALCULAR LA º ";
cout<<endl<<"\t º MEDIA DE LOS ELEMENTOS DE UN ARREGLO º ";
cout<<endl<<"\t ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ "<<endl;
cout<<endl<<"\t Ingrese Cantidad de Elementos del Arreglo: ";
cin>>num;
cout<<endl;
for(k=0;k<num;k++)
{
cout<<"\t Elemento "<<k+1<<" : ";
cin>>C[k];
}
cout<<endl<<"\t La Media de los Elementos Ingresados es: "<<(med_elem(num,C))/num;
cout<<endl;
break;
default: cout<<"\t No se escogio ninguna opcion "<<endl<<endl;
}
cout<<endl<<"\t DESEA CONTINUAR [S/N] : ";
cin>>R;
system("CLS");
}
while ( R == 'S' || R == 's' );
}
/////////////// OPCION 1 : CALCULAR MAYOR ELEMENTO \\\\\\\\\\\\\\\\\\\\\\
int may_elem(int n,int x[])
{
if(n==1)
return x[0];
if(x[n-1]>may_elem(n-1,x))
return x[n-1];
else
return may_elem(n-1,x);
}
/////////////// OPCION 2 : CALCULAR SUMA DE ELEMENTOS \\\\\\\\\\\\\\\\\\
int sum_elem(int n,int x[])
{
if(n==1)
return x[0];
else
return x[n-1]+sum_elem(n-1,x);
}
/////////////// OPCION 3 : CALCULAR LA MEDIA DE ELEMENTOS \\\\\\\\\\\\\\\\\\
int med_elem(int n,int x[])
{
if(n==1)
return x[0];
else
return x[n-1]+med_elem(n-1,x);
}
03.Calcular la serie Fibonacci dado un numero n:
04.Inverso de un numero decimal:
05.Calcular el MCD usando Euclides:
06.Convertidor de numero decimal a Base B, siendo B<10
No hay comentarios.:
Publicar un comentario