Sei sulla pagina 1di 17

////////////////////numeros naturales y secuencias////////////

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

int revertir(int N)
{
int A, B=0;
while (N>0)
{
A=N%10;
N=N/10;
B=B*10+A;

return (B);
}
int contardig (int n)
{
int c=0;
while (n>0)
{
n=n/10;
c++;
}
return (c);
}
int unir(int n, int N)
{
int c, A;
if(N<=n)
{
c=contardig (n);
N=N*powf(10,c);
A=N+n;
}
else
{
c=contardig (N);
n=n*powf(10,c);
A=N+n;

}
return (A);
}
int depurardig(int n)
{
int c=0, nro,d, a, b,x;
x=n;
while (n>0)
{
d=n%10;
c=0;
b=x;
while (b>0)
{
a=b%10;
if (d==a)
{
c++;
}
b=b/10;
}
if (c>1)
{

}
else
{

nro=nro*10+d;
}

n=n/10;
}
nro=revertir(nro);
return (nro);
}
int mayordig(int n)
{
int c=0, nro,d, a, b,x,max=0;
x=n;
while (n>0)
{
d=n%10;
c=0;
if (d>max)
{
max=d;
}
n=n/10;
}
while (x>0)
{
d=x%10;
c=0;
if (d==max)
{
}
else
{
nro=nro*10+d;
}

x=x/10;
}
nro=revertir(nro);
return (nro);
}
void capicua(int n)
{
int a;
a=n;
n=revertir(n);
if (n==a)
{
cout<<endl<<"es capicua"<<endl;
}
else
{
cout<<endl<<"no es capicua"<<endl;
}
}
void tiluchi()
{
int n,x,a,i;
cout<<"ingrese cantidad de obreros: ";
cin>>n;
for (i=0;i<n;i++)
{
cout<<endl<<"ingrese horas trabajadas: ";
cin>>x;
a=x*20;
cout<<endl<<"ha trabajado "<<x<<"horas y su paga es:
Bs."<<a<<endl;
}
}
void adivinarnum()
{ int x, i, a;
srand(time(NULL));
for (i=1;i<=1;i++)
{
x=rand()%100+1;
}
do
{
cout<<endl<<"ingrese numero: ";
cin>>a;
if (a>x)
{
cout<<endl<<"demasiado grande"<<endl;
}
if (a<x)
{
cout<<endl<<"demasiado chico"<<endl;
}
if (a==x)
{
cout<<endl<<"correcto el numero es: "<<x<<endl;
}
}while(a!=x);
}
void crapula(int n)
{
int a,s=0,c;
while (n > 0)
{
a = n%10;
c = c + a;
if (c > 9)
{
c = c - a;
}
n = n/10;
}
cout<<endl<<"el resultado es: "<<c<<endl;
}
void automorfico(int n)
{
int i=0,c=1,a=1,j, b,nro,r,x;
while (i<10)
{
a=powf(c,2);
x=a;
r=contardig(c);
nro=0;
for (j=0;j<r;j++)
{
b=x%10;
nro=nro*10+b;
x=x/10;
}
nro=revertir(nro);
if (c>=1000)
{
i=10;
cout<<endl<<"no hay mas numeros automorficos menores a
1000."<<endl;
}
if (nro==c)
{
cout<<endl<<c<<endl;
i++;
}
c++;
}
}
void sectres(int n)
{
int i,c=0;
for(i=0;i<n;i++)
{
c=c+3;
cout<<endl<<c<<endl;
}
}
void secCuadrado(int n)
{
int i,c=1,a;
for (i=0;i<n;i++)
{
a=c*c;
a=revertir(a);
c++;
cout<<endl<<a<<endl;
}
}
void secDigant(int n)
{
int i,c=1,a, digant,dig=1,j=0,b=0,d,x;
if(n==1)
{
cout<<endl<<c<<endl;
}
for (i=0;i<n-1;i++)
{
b=0;
x=dig;
cout<<endl<<dig<<endl;
d=contardig(dig);
if(d>=2)
{
for (j=0;j<d;j++)
{
a=x%10;
b=b+a;
x=dig/10;
}
dig=digant+b;
digant=dig;
c=dig;
}
else
{
a=c%10;
dig=a+digant+b;
digant=dig;
c=dig;
}
}
cout<<endl<<dig<<endl;
}

void menu()
{
int op, N, r, n;
do
{
cout<<endl<<"*********** MENU ***********";
cout<<endl<<endl<<"**** Numeros Naturales ****";
cout<<endl<<"1. Unir numeros";
cout<<endl<<"2. Depurar los numeros repetidos";
cout<<endl<<"3. Invertir un numero natural";
cout<<endl<<"4. Eliminar el mayor digito de un numero";
cout<<endl<<"6. Verificar si un numero es capicua";
cout<<endl<<"7. Empresa Tiluchi, el pago por hora a los obreros";
cout<<endl<<"8. Adivinar en que numero piensa la computadora";
cout<<endl<<"9. Numero Crapula";
cout<<endl<<"10. Numero Automorfico";
cout<<endl<<endl<<"**** Secuencias - Series - Suceciones ****";
cout<<endl<<"11. Secuencia de 3 en 3";
cout<<endl<<"12. Secuencia de un numero al cuadrado invertido";
cout<<endl<<"13. Secuencia de un numero mas el numero anterior mas
sus digitos";
cout<<endl<<"0. Salir:";
cout<<endl<<"ingrese la opcion: ";
cin>>op;
switch (op)
{
case 1: do
{
cout<<"ingrese digito:";
cin>>n;
}while (n<=0);
do
{
cout<<"ingrese digito:";
cin>>N;
}while (n<=0);
r=unir(n,N);
cout<<endl<<"el nuevo numero es: "<<r<<endl;
break;
case 2: do
{
cout<<"ingrese digito:";
cin>>n;
}while (n<=0);
r=depurardig(n);
cout<<endl<<"el nuevo numero es: "<<r<<endl;
break;
case 3:do
{
cout<<"ingrese digito:";
cin>>n;
}while (n<=0);
r=revertir(n);
cout<<endl<<"el numero invertido es:
"<<r<<endl;
break;
case 4: do
{
cout<<"ingrese digito:";
cin>>n;
}while (n<=0);
r=mayordig(n);
cout<<endl<<"el nuevo numero es: "<<r<<endl;
break;
case 6: do
{
cout<<"ingrese digito:";
cin>>n;
}while (n<=0);

capicua(n);
break;
case 7: tiluchi();
break;
case 8: adivinarnum();
break;
case 9: do
{
cout<<"ingrese digito:";
cin>>n;
}while (n<=0);
crapula(n);
break;
case 10:do
{
cout<<"ingrese cuantos digitos quiere
mostrar:";
cin>>n;
}while (n<=0);
automorfico(n);
break;
case 11: do
{
cout<<"ingrese cuantos digitos quiere
mostrar:";
cin>>n;
}while (n<=0);
sectres(n);
break;
case 12: do
{
cout<<"ingrese cuantos digitos quiere
mostrar:";
cin>>n;
}while (n<=0);
secCuadrado(n);
break;
case 13: do
{
cout<<"ingrese cuantos digitos quiere
mostrar:";
cin>>n;
}while (n<=0);
secDigant(n);
break;
}
}while (op!=0);
}
int main(void)
{
menu();
return 0;
}
////////////////////vectores////////////

#include <iostream>
#include <conio.h>
#include "math.h"
using namespace std;

void cargarvec(int V[],int n)


{
int i;
for (i=0;i<n;i++)
{
cout<<endl<<"ingrese un numero: ";
cin>>V[i];
}
}
int contardig(int n)
{
int i,c;
for (i=0;n>0;i++)
{
n=n/10;
c++;
}
return (c);
}
int revertir(int n)
{
int i,a,b;
for (i=0;n>0;i++)
{
a=n%10;
n=n/10;
b=b*10+a;
}
return (b);
}
void mostrarvec(int V[],int n)
{
int i;
for (i=0;i<n;i++)
{
cout<<endl<<V[i];
}
}
int frecuencia(int V[],int n)
{
int i,a,c=0;
cout<<endl<<"ingrese el numero que quiere calcular: ";
cin>>a;
for (i=0;i<n;i++)
{
if (a==V[i])
{
c++;
}
}
return (c);
}
void busqueda(int V[], int n)
{
int i,a;
bool k=false;
cout<<endl<<"ingrese el numero que quiere buscar: ";
cin>>a;
for (i=0;i<n;i++)
{
if (a==V[i])
{
cout<<endl<<"esta en la posicion: "<<i<<endl;
k=true;
}
}
if (k==false)
{
cout<<endl<<"-1"<<endl;
}

}
void sumavec(int V[], int A[], int R[], int n)
{
int i;
for (i=0;i<n;i++)
{
R[i]=V[i]+A[n-1-i];
cout<<endl<<R[i];
}
}
void recorrervec(int V[], int n)
{
int i,aux;
for (i=0;i<n-1;i++)
{
aux=V[i];
V[i]=V[i+1];
V[i+1]=aux;
}
}
void secCuadrado(int V[],int n)
{
int i,c=1;
for (i=0;i<n;i++)
{
V[i]=c*c;
V[i]=revertir(V[i]);
c++;
}
}
void secDigant(int V[],int n)
{
int i,c=1,a, digant,dig=1,j=0,b=0,d,x;
if(n==1)
{
V[0]=c;
}
for (i=0;i<n;i++)
{
b=0;
x=dig;
V[i]=dig;
d=contardig(dig);
if(d>=2)
{
for (j=0;j<d;j++)
{
a=x%10;
b=b+a;
x=dig/10;
}
dig=digant+b;
digant=dig;
c=dig;
}
else
{
a=c%10;
dig=a+digant+b;
digant=dig;
c=dig;
}
}
}

bool existeelemento(int V[],int n,int elem)


{
int i;
bool k=false;
for(i=0;i<n;i++)
{
if(V[i]==elem)
k=true;
}
return(k);
}

void unionvec(int A[],int na,int B[],int nb,int C[],int&nc)


{
int i;
nc=0;
for(i=0;i<na;i++)
{
C[nc]=A[i];
nc++;
}
for(i=0;i<nb;i++)
{
if(existeelemento(C,nc,B[i])==false)
{
C[nc]=B[i];
nc++;
}
}
}
void invertirnum(int A[],int n,int i)
{
int d=0,k;
k=A[i];
while(k>0)
{
d=d*10+k%10;
k=k/10;
}
A[i]=d;
}
void elimpar(int A[],int B[], int n)
{
int i,d,d1,d2,s=0;
for(i=0;i<n;i++)
{
d=A[i];
while(d>0)
{
d1=d/10;d2=d%10;
if(d2%2!=0)
{
B[i]=s*10+d2;
s=B[i];
}
d=d/10;
}
invertirnum(B,n,i);
s=0;
}
}
void Sucescion(int V[], int n)
{
bool k = true;
int a=0, b=1, j, i;
for (i = 0; i < (n/2); i++)
{
do
{
a++;
for ( j = 2; j < a-1; j++)
{
if(a%j == 0)
{
k = false;
j=a;
}
else
{
k = true;
}
}
} while (k != true);
V[(n/2)-i-1] = a;
k = true;
}
a = 0;
for (i = n-1; i > (n/2)-1; i--)
{
V[i] = b + a;
b = a;
a = V[i];
}
}
void menu(int V[], int A[], int R[], int B[], int C[])
{
int op, N, r, n,a, nc, na, nb;
do
{
cout<<endl<<"*********** MENU ***********";
cout<<endl<<endl<<"**** Arreglos ****";
cout<<endl<<"1. Calcular la frecuencia de un numero en el arreglo";
cout<<endl<<"3. Busqueda secuencial";
cout<<endl<<"4. Suma de elementos del vector";
cout<<endl<<"6. Colocar el elemento 0 en el ultimo del vector";
cout<<endl<<"7. Secuencia del cuadrado perfecto";
cout<<endl<<"8. Secuencia de la suma de los componentes del
digito";
cout<<endl<<"10. Unir vector";
cout<<endl<<"11. Sucecion";
cout<<endl<<"12. Eliminar Par";
cout<<endl<<"0. Salir:";
cout<<endl<<"ingrese la opcion: ";
cin>>op;
switch (op)
{
case 1:do
{
cout<<"Ingrese cantidad de elementos en el
arreglo: ";
cin>>n;
}while (n<=0);
cargarvec(V,n);
r=frecuencia(V,n);
cout<<endl<<"la frecuencia del numero es:
"<<r<<endl;
break;
case 3:do
{
cout<<"Ingrese cantidad de elementos en el
arreglo: ";
cin>>n;
}while (n<=0);
cargarvec(V,n);
busqueda(V,n);
break;
case 4: do
{
cout<<"Ingrese cantidad de elementos en el
arreglo: ";
cin>>n;
}while (n<=0);
cargarvec(V,n);
cout<<"Ingrese el otro vector que desea
sumar:";
cargarvec(A,n);
sumavec(V,A,R,n);
break;
case 6: do
{
cout<<"Ingrese cantidad de elementos en el
arreglo: ";
cin>>n;
}while (n<=0);
cargarvec(V,n);
recorrervec(V,n);
mostrarvec(V,n);
break;
case 7: do
{
cout<<"ingrese cuantos digitos quiere
mostrar:";
cin>>n;
}while (n<=0);
secCuadrado(V,n);
mostrarvec(V,n);
break;
case 8: do
{
cout<<"ingrese cuantos digitos quiere
mostrar:";
cin>>n;
}while (n<=0);
secDigant(V,n);
mostrarvec(V,n);
break;
case 10: do
{
cout<<"ingrese cuantos elementos quiere:";
cin>>na;
}while (na<=0);
cargarvec(A,na);
do
{
cout<<"ingrese cuantos elementos quiere:";
cin>>nb;
}while (n<=0);
cargarvec(B,nb);
unionvec(A,na,B,nb,C,nc);
mostrarvec(C,nc);
break;
case 11: do
{
cout<<"ingrese cuantos digitos quiere
mostrar:";
cin>>n;
}while (n<=0);
Sucescion(V,n);
mostrarvec(V,n);
break;
case 12: do
{
cout<<"ingrese cuantos elementos quiere:";
cin>>n;
}while (n<=0);
cargarvec(A,n);
elimpar(A,B,n);
mostrarvec(B,n);
break;
}
}while (op!=0);
}
int main(void)
{
int V[1000],A[1000],R[1000],B[1000],C[1000];
menu(V,A,R,B,C);
return 0;
}

////////////////////cadenas////////////

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

void mostrarchar(char V[])


{
int i,n;
n=strlen(V);
for (i=0;i<n;i++)
{
cout<<V[i];
}
}
void invertir(char V[])
{
int i,n;
char aux;
n=strlen(V);
for (i=0;i<n/2;i++)
{
aux=V[n-1-i];
V[n-1-i]=V[i];
V[i]=aux;
}
}
void palindromo(char V[], char A[])
{
int i, n;
n=strlen(V);
strcpy(A,V);
invertir(A);
if(strcmp(V,A)==0)
{
cout<<endl<<"Es palindromo";
}
else
{
cout<<endl<<"No es palindromo";
}
}
int repetirchar(char V[])
{
int i,c;
char a;
cout<<"ingrese el caracter que quiere saber: ";
cin>>a;
for (i=0;i<strlen(V);i++)
{
if (a==V[i])
{
c++;
}
}
return(c);
}
int contarmayusculas(char cad[])
{
int i,c=0;
for (i=0;i<strlen(cad);i++)
{

if((cad[i]=='A')||(cad[i]=='B')||(cad[i]=='C')||(cad[i]=='D')||(cad
[i]=='E')||

(cad[i]=='F')||(cad[i]=='G')||(cad[i]=='H')||(cad[i]=='I')||(cad[i]
=='J')||

(cad[i]=='K')||(cad[i]=='L')||(cad[i]=='M')||(cad[i]=='N')||(cad[i]
=='Ñ')||

(cad[i]=='O')||(cad[i]=='P')||(cad[i]=='Q')||(cad[i]=='R')||(cad[i]
=='S')||

(cad[i]=='T')||(cad[i]=='U')||(cad[i]=='V')||(cad[i]=='W')||(cad[i]
=='X')||
(cad[i]=='Y')||(cad[i]=='Z'))
{
c++;
}
}
return(c);
}
int contarminusculas(char cad[])
{
int i,c=0;
for (i=0;i<strlen(cad);i++)
{
if((cad[i]=='A')||(cad[i]=='B')||(cad[i]=='C')||(cad[i]=='D')||(cad
[i]=='E')||

(cad[i]=='F')||(cad[i]=='G')||(cad[i]=='H')||(cad[i]=='I')||(cad[i]
=='J')||

(cad[i]=='K')||(cad[i]=='L')||(cad[i]=='M')||(cad[i]=='N')||(cad[i]
=='Ñ')||

(cad[i]=='O')||(cad[i]=='P')||(cad[i]=='Q')||(cad[i]=='R')||(cad[i]
=='S')||

(cad[i]=='T')||(cad[i]=='U')||(cad[i]=='V')||(cad[i]=='W')||(cad[i]
=='X')||
(cad[i]=='Y')||(cad[i]=='Z'))
{

}
else
{
c++;
}
}
return(c);
}
void minuscula(char cad[])
{
int cant=0, a;

gets(cad);
gets(cad);
cant = strlen(cad);
for (int i = 0; i < cant; i++)
{
a = cad[i];
if ((a >= 65) && (a <= 90))
{
cad[i] = (a+32);
}
}
puts(cad);
}
void menu(char V[],char A[],char cad[])
{
int op,r;
do
{
cout<<endl<<"*********** MENU ***********";
cout<<endl<<endl<<"**** Cadenas ****";
cout<<endl<<"1. Invertir una cadena";
cout<<endl<<"2. Verificar si es palindromo o no";
cout<<endl<<"3. Cantidad de minusculas";
cout<<endl<<"4. Cantidad de mayusculas";
cout<<endl<<"5. Verificar cuantas veces se repite un caracter";
cout<<endl<<"6. Devolver cadena en minusculas";
cout<<endl<<"0. Salir:";
cout<<endl<<"ingrese la opcion: ";
cin>>op;
switch (op)
{
case 1:invertir(V);
mostrarchar(V);
break;
case 2:palindromo(V,A);
break;
case 3:r=contarminusculas(V);
cout<<endl<<r<<endl;
break;
case 4:r=contarmayusculas(V);
cout<<endl<<r<<endl;
break;
case 5:r=repetirchar(V);
cout<<endl<<r<<endl;
break;
case 6:cout << "Escriba una cadena de caracteres: ";
minuscula(cad);
break;
}
}while (op!=0);
}
void main()
{
char V[1000],A[1000], cad[1000];
cout<<"ingrese la cadena: ";
gets(V);
menu(V,A,cad);
}

Potrebbero piacerti anche