VARIOS PROGRAMAS RECUELTOS-- AKI LES DEJO.. PARA KE LOS BAJEN... NO COMO OTROS KE NO LO...

arkahe_dj45
01 de Junio del 2005
JAJJA bueno gentita aki les dejo un chorro de programas para ke lo puedan descargar...


PORCE TAMBIEN HICE UN PROGRAMA, CON MENUS AMIGABLES.. KE RECOPILA TODOS ESTOS CODIGOS, A TRAVES DE FICHEROS SI LO KIERES MANDAME UN MAIL NO ESCRIBAS AKI PORFAVOR.. OK.. GRACIAS....
[email protected]

CUALKIER CONSULATA TAMBIEN ESCRIBANME ,,, TAMBIEN TENGO JUEGOS MUY INTERESANTES,, OK ...


EJERCICIOS CORRIDOS EN VISUAL C++6.0


Ejercicio 1:
En una matriz solo se puede contener 0 ó 1, lea una matriz y diga si todos los elementos de la msima fila, columna o diagonal tienen el mismo valor.(Este algoritmo puede servir para comprobar si un jugador gano una partida de "tres en raya".)

#include<iostream.h>
#include<stdlib.h>
#include<time.h>
void main (void)

{int i,j,k,l,n,a[15][15];
cout<<endl<<endl<<" La matriz de cuanto va a ser :"<<endl<<"ejemplo 5 * 5 ="<<endl;
cin>>n;
cout<<endl<<endl;
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{

a[i][j]=rand()%2;
}
}
//imprimimos matriz
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
cout<<a[j][i]<<"t";
}
cout<<endl<<endl;
}
//para la diagonal principal

j=0;
k=0;
cout<<endl<<endl;

for(i=1;i<=n;i++)
{
if(a[i][i]==1)
{
j++;
}
else
{
k++;
}

}
if(j==n)
cout<<"Sus elementos de la diagonal principal son 1 "<<endl;
if(k==n)
cout<<"Sus elementos de la diagonal principal son 0 "<<endl;


//para la diagonal secundaria
l=n+1;
j=0;
k=0;
for(i=1;i<=n;i++)
{
l=l-1;
if(a[i][l]==1)
{
j++;
}
else
{
k++;
}


}
if(j==n)
cout<<"Sus elementos de la diagonal secundaria son 1 "<<endl;
if(k==n)
cout<<"Sus elementos de la diagonal secundaria son 0 "<<endl;


//para columnas

for(i=1;i<=n;i++)
{
k=0;
l=0;
for(j=1;j<=n;j++)
{
if (a[j][i]==1)
k++;
else
l++;
}
if(k==n)
cout<<"Sus elementos de la columna"<<i<<" son 1 "<<endl;
if(l==n)
cout<<"Sus elementos de la columna"<<i<<" son 0 "<<endl;
}

//para filas
for(i=1;i<=n;i++)
{
k=0;
l=0;
for(j=1;j<=n;j++)
{
if (a[i][j]==1)
k++;
else
l++;
}
if(k==n)
cout<<"Sus elementos de la fila"<<i<<" son 1 "<<endl;
if(l==n)
cout<<"Sus elementos de la fila"<<i<<" son 0 "<<endl;
}
}
Ejercicio 2:
Muestra todos los elementos cuya suma de sus índices sea par.

#include<iostream.h>
#include<stdlib.h>
#include<conio.h>
void main (void)

{int i,j,x,y,a[15][15],s;
cout<<endl<<endl<<" Ingrese el tamanio de la matriz :";
cin>>x;
do
{
system("cls");
cout<<endl<<endl<<" Ingrese el tamanio de la matriz :"<<x<<",";
cin>>y;
}
while(y!=x);

cout<<endl<<endl;
for(i=1;i<=y;i++)
{
for(j=1;j<=x;j++)
{

a[j][i]=rand()%30+1;
}
}

cout<<endl<<endl;
cout<<"MOSTRAMOS MATRIZ COMPLETA"<<endl<<endl<<endl;

//imprimimos numeros del eje x
cout<<"tt";
for(i=1;i<=x;i++)
{
cout<<i<<"t";
}
cout<<endl;
cout<<"tt";

for(i=1;i<=x;i++)
{
cout<<"__"<<"t";
}

cout<<endl<<endl<<endl;
//imprimimos matriz completa
for(i=1;i<=y;i++)
{ cout<<" "<<i<<"t>>t";//imprimimos numeros del eje y
for(j=1;j<=x;j++)
{
cout<<a[j][i]<<"t";
}
cout<<endl<<endl;
}
cout<<endl<<endl;
//imprimimos elementos cuya suma de sus indices es par

cout<<"MOSTRAMOS ELEMENTOS CUYA SUMA DE SUS INDICES ES PAR"<<endl<<endl<<endl;
//imprimimos numeros del eje x
cout<<"tt";
for(i=1;i<=x;i++)
{
cout<<i<<"t";
}
cout<<endl;
cout<<"tt";

for(i=1;i<=x;i++)
{
cout<<"__"<<"t";
}
cout<<endl<<endl<<endl;

for(i=1;i<=y;i++)
{
cout<<" "<<i<<"t>>t";//imprimimos numeros del eje y
for(j=1;j<=x;j++)
{
s=i+j;
if(s%2!=0)
cout<<"---"<<"t";
else
cout<<a[j][i]<<"t";
}
cout<<endl<<endl;
}
cout<<endl<<endl;

}


Ejercicio 3:
Muestre aquellos elementos que no perteneces a la diagonal principal.

#include<iostream.h>
#include<stdlib.h>
#include<conio.h>
void main (void)

{int i,j,x,y,a[15][15];
cout<<endl<<endl<<" Ingrese el tamanio de la matriz :";
cin>>x;
do
{
system("cls");
cout<<endl<<endl<<" Ingrese el tamanio de la matriz :"<<x<<",";
cin>>y;
}
while(y!=x);

cout<<endl<<endl;
for(i=1;i<=y;i++)
{
for(j=1;j<=x;j++)
{
a[j][i]=rand()%30+1;
}
}

cout<<endl<<endl;
cout<<"MOSTRAMOS MATRIZ COMPLETA"<<endl<<endl<<endl;
//imprimimos matriz completa
for(i=1;i<=y;i++)
{
for(j=1;j<=x;j++)
{
cout<<a[j][i]<<"t";
}
cout<<endl<<endl;
}
cout<<endl<<endl;
//imprimimos matriz sin la diagonal principal
cout<<"MOSTRAMOS MATRIZ SIN LA DIAGONAL PRINCIPAL"<<endl<<endl<<endl;
for(i=1;i<=y;i++)
{
for(j=1;j<=x;j++)
{
if((i==i)&&(j==i))
cout<<"NO!!!"<<"t";
else
cout<<a[j][i]<<"t";
}
cout<<endl<<endl;
}
cout<<endl<<endl;

}

Ejercicio 4:
Un consorcio pesquero cuenta con varias embarcaciones. Para cada una se tiene su captura por semana. Diga que embarcación capturó más.

#include<iostream.h>
#include<stdlib.h>
void main ()
{int s,m=0,e[100][4],p,n,i,j;
cout<<"Ingrese el numero de embarcaciones: ";
cin>>n;
cout<<endl<<endl<<endl;
cout<<" CONSORCIO PESQUERO 'LA ESMERALDA'"<<endl<<endl;
cout<<" ";
for(i=1;i<=4;i++)
{
cout<<i<<"ªsemanat";
}
cout<<endl<<endl;
for(i=1;i<=n;i++)
{
s=0;
cout<<" EMBARCACION "<<i<<">>t";
for(j=1;j<=4;j++)
{
e[i][j]=30+rand()%(100-30);
s=s+e[i][j];
cout<<e[i][j]<<"tt";
}
if(s>m)
{
m=s;
p=i;
}
cout<<endl;
}
cout<<endl<<endl;
cout<<"La embarcacion que capturo mas es la embarcion "<<p<<" y tuvo "<<m<<" capturas"<<endl<<endl;
}


















Ejercicio 5:
Muestre la diagonal secundaria de una matriz.

#include<iostream.h>
#include<stdlib.h>
#include<conio.h>
void main (void)

{int i,j,k,x,y,a[15][15];
cout<<endl<<endl<<" Ingrese el tamanio de la matriz :";
cin>>x;
//consistencia para que el valor de x y de y no sean diferentes
//para poder trabajar con la diagonal
do
{
system("cls");
cout<<endl<<endl<<" Ingrese el tamanio de la matriz :"<<x<<",";
cin>>y;
}
while(y!=x);

cout<<endl<<endl;
//creando matriz
for(i=1;i<=y;i++)
{
for(j=1;j<=x;j++)
{

a[j][i]=rand()%30+1;
}
}

cout<<endl<<endl;
cout<<"MOSTRAMOS MATRIZ COMPLETA"<<endl<<endl<<endl;
//imprimimos matriz completa
for(i=1;i<=y;i++)
{
for(j=1;j<=x;j++)
{
cout<<a[j][i]<<"t";
}
cout<<endl<<endl;
}
cout<<endl<<endl;
//imprimimos matriz solo con la diagonal secundaria
cout<<"MOSTRAMOS MATRIZ SOLO CON LA DIAGONAL PRINCIPAL"<<endl<<endl<<endl;
k=x+1;
for(i=1;i<=y;i++)
{
k--;
for(j=1;j<=x;j++)
{

if((i==i)&&(j!=k))
cout<<"NO!!!"<<"t";
else
cout<<a[j][i]<<"t";
}
cout<<endl<<endl;
}
cout<<endl<<endl;

}


Ejercicio 6:
Se tiene una matriz con el total de emergencias en un hospital por cada horas y por cada día de la semana. A que hora ocurre la mayor cantidad de emergencias? qué día hay más emergencias.

#include<iostream.h>
#include<stdlib.h>
void main (void)
{int i,j,p,po,eme[25][7],m=0,s;
cout<<endl<<endl<<endl;
cout<<" ";
cout<<"LUNES MARTES MIERCOLES JUEVES VIERNES SABADO DOMINGO";
cout<<endl<<endl;
cout<<" ";
for(i=1;i<7;i++)
{
cout<<"---------";
}
cout<<endl<<endl;

for(i=1;i<=24;i++)
{
s=0;
cout<<" HORA "<<i<<">>t";
for(j=1;j<=7;j++)
{
eme[i][j]=50+rand()%(1000-50);
cout<<eme[i][j]<<"t";
s=s+eme[i][j];//sumando emergencias de cada hora
}
if(s>m)//para ver que hora tiene mayor emergencias
{
m=s;
p=i;
}
cout<<endl<<endl;
}
cout<<endl<<endl;
if(p==1)
cout<<"La hora que tiene mayor emergencias es a la: "<<p<<" horas y tiene "<<m<<" emergencias"<<endl<<endl;
else
cout<<"La hora que tiene mayor emergencias es a las: "<<p<<" horas y tiene "<<m<<" emergencias"<<endl<<endl;
//hallando el dia que tiene mayor emergencias
m=0;
for(i=1;i<=7;i++)
{
s=0;
for(j=1;j<=24;j++)
{
s=s+eme[j][i] ;
}
if(s>m)
{
po=i;
m=s;
}

}
if(po==1)
cout<<"La dia que tiene mayor emergencias es al dia: lunes y tiene "<<m<<" emergencias"<<endl<<endl;
else if (po==2)
cout<<"La hora que tiene mayor emergencias es al dia: martes y tiene "<<m<<" emergencias"<<endl<<endl;
else if (po==3)
cout<<"La hora que tiene mayor emergencias es al dia: miercoles y tiene "<<m<<" emergencias"<<endl<<endl;
else if (po==4)
cout<<"La hora que tiene mayor emergencias es al dia: jueves y tiene "<<m<<" emergencias"<<endl<<endl;
else if (po==5)
cout<<"La hora que tiene mayor emergencias es al dia: viernes y tiene "<<m<<" emergencias"<<endl<<endl;
else if (po==6)
cout<<"La hora que tiene mayor emergencias es al dia: sabado y tiene "<<m<<" emergencias"<<endl<<endl;
else if (po==7)
cout<<"La hora que tiene mayor emergencias es al dia: domingo y tiene "<<m<<" emergencias"<<endl<<endl;

}




1; Encuentre el mayor y el menor elemento de un array.
#include<iostream.h>
void main (void)
{int a[50],n,i,M,m;
cout<<"INGRESAR EL NUMERO DE ELEMENTOS DEL ARRAY: ";
cin>>n;
cout<<endl;
M=0;
m=999999999;
for(i=1; i<=n;i++)
{cout<<"Ingresar elemento "<<i<<": ";
cin>> a[i];
}
cout<<endl;
for(i=1; i<=n;i++)
{if(a[i]>M)
M=a[i];
if(a[i]<m)
m=a[i];
}

cout<<endl<<" * EL elemento mayor es: "<<M<<endl;
cout<<endl<<" * EL elemento memor es: "<<m<<endl<<endl;
}

2. Lea dos arrays A y B Y diga que elementos de A no están en B.

#include<iostream.h>
void main (void)
{int a[50],b[50],n,i,j,c;
cout<<endl;
cout<<"INGRESAR EL NUMERO DE ELEMENTOS DEL ARRAY A y B QUE SEA MENOR QUE 50: ";
cin>>n;
cout<<endl;
cout<<endl<<"INGRESAR ELEMENTOS DEL ARREGLO A"<<endl<<endl;
for(i=1; i<=n;i++)
{cout<<"Ingresar elemento "<<i<<": ";
cin>> a[i];
}
cout<<endl<<endl<<"INGRESAR ELEMENTOS DEL ARREGLO B"<<endl<<endl;
for(i=1; i<=n;i++)
{cout<<"Ingresar elemento "<<i<<": ";
cin>> b[i];
}
cout<<endl<<"ELEMENTOS DE A QUE NO ESTAN EN B:"<<endl<<endl;
for(i=1; i<=n;i++)
{c=0;
for(j=1; j<=n;j++)
{if(a[i]!=b[j])
c=c+1;

}
if(c==n)
cout<<a[i]<<endl;
}
cout<<endl;
}

3. Lea un array e invierta las posiciones de sus datos. Por ejemplo, si el array es a[ ] = {1, 2, 3} al término del algoritmo debe ser a[ ] = {3, 2, 1}.

#include<iostream.h>
void main (void)
{int a[50],n,i,j,temp;
cout<<endl<<"INGRESAR EL NUMERO DE ELEMENTOS DEL ARRAY: ";
cin>>n;
cout<<endl;
j=5;
for(i=1; i<=n;i++)
{cout<<"Ingresar elemento "<<i<<": ";
cin>> a[i];
}
for(i=1;i<n;i++)
{for(j=i+1;j<=n;j++)
{if(i<j)
{temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}

cout<<endl<<"ARRAY CON SUS ELEMENTOS INVERTIDOS"<<endl<<endl;
for(i=1;i<=n;i++)
{cout<<"Elemento"<<i<<": "<<a[i]<<endl;
}
cout<<endl;
}

4. Se o tienen dos arrays ordenados y se desea unirlos en un tercero pero manteniendo los datos ordenados.

#include<iostream.h>
void main (void)
{int a[50],b[50],c[50],n,i,j,temp;
cout<<endl;
cout<<"INGRESAR EL NUMERO DE ELEMENTOS DEL ARRAY A y B QUE SEA MENOR QUE 50: ";
cin>>n;
cout<<endl;
cout<<endl<<"INGRESAR ELEMENTOS DEL ARREGLO A"<<endl<<endl;
for(i=1; i<=n;i++)
{cout<<"Ingresar elemento "<<i<<": ";
cin>> a[i];
}
cout<<endl<<endl<<"INGRESAR ELEMENTOS DEL ARREGLO B"<<endl<<endl;
for(i=1; i<=n;i++)
{cout<<"Ingresar elemento "<<i<<": ";
cin>> b[i];
}
cout<<endl<<"UNION DE LOS DOS ARRAY YA ORDENADOS:"<<endl<<endl;
for(i=1; i<=n;i++)
{c[i]=a[i];
}
j=n+1;
for(i=1;i<=n;i++)
{c[j]=b[i];
j=j+1;
}

for(i=1;i<n*2;i++)
{for(j=i+1;j<=n*2;j++)
{if(c[i]<c[j])
{temp=c[i];
c[i]=c[j];
c[j]=temp;
}
}
}

for(i=1;i<=n*2;i++)
{cout<<c[i]<<endl;

}
cout<<endl;
}

5. Suponga que tiene n elementos en un array ordenado ascendentemente. Inserte un elemento en la posición que corresponda para mantener el array ordenado.

#include<iostream.h>
void main (void)
{int a[50],n,i,j,temp,c;
cout<<"INGRESAR EL NUMERO QUE DESEA INSERTAR: ";
cin>>c;
cout<<endl<<endl;
cout<<"INGRESAR CANTIDAD DE ELEMENTOS: ";
cin>>n;
cout<<endl<<endl;
for(i=1;i<=n;i++)
{cout<<"elemento"<<i<<": ";
cin>>a[i];
}
for(i=1;i<n;i++)
{for(j=i+1;j<=n;j++)
{if(a[i]<a[j])
{temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}


cout<<endl;
for(i=1;i<n;i++)
{if((c>a[i+1])&&(c<a[i]))
{for(j=n+1;j>i+1;j--)
{a[j]=a[j-1];
}
a[i+1]=c;
}
}

for(i=1;i<=n+1;i++)
{cout<<a[i]<<endl;
}
cout<<endl;
}

6. Determine la cantidad de veces que aparece cada elemento de un array.

#include<iostream.h>
void main (void)
{int a[50],n,i,j,c;
cout<<"INGRESAR EL NUMERO DE ELEMENTOS DEL ARRAY: ";
cin>>n;
cout<<endl;

for(i=1; i<=n;i++)
{cout<<"Ingresar elemento "<<i<<": ";
cin>> a[i];
}
cout<<endl;
for(i=1; i<=n;i++)
{c=0;
for(j=1;j<=n;j++)
{if(a[i]==a[j])
c=c+1;
}
cout<<" * El elemento "<<i<<" aparece"<<c<<" veces"<<endl;
}
cout<<endl;
}

7. La moda de un conjunto de datos es el elemento que más se repite. Encuentre la moda de elementos almacenados en un array.

#include<iostream.h>
void main (void)
{int a[50],n,i,j,c,num,m,x;
cout<<"INGRESAR EL NUMERO DE ELEMENTOS DEL ARRAY: ";
cin>>n;
cout<<endl;
m=0;
x=0;
for(i=1; i<=n;i++)
{cout<<"Ingresar elemento "<<i<<": ";
cin>> a[i];
}
cout<<endl;
for(i=1; i<=n;i++)
{c=0;
for(j=1;j<=n;j++)
{if(a[i]==a[j])
c=c+1;
if(c>m)
{m=c;
num=a[i];
x=x+1;
}
}


}
if(x>1)
cout<<" * LA MODA ES: "<<num<<endl<<endl;
else
cout<<" * NO HAY MODA"<<endl;
}

8. Si tenemos un array ordenado. Encuentre un determinado elemento utilizando la búsqueda binaria.


9. Calcule la mediana de un conjunto de datos. La mediana en un array ordenado es el elemento central. Si el número de elementos del array es impar existe un único elemento ubicado en el centro del array (el elemento con subíndice n DIV 2 + 1). Si el número de elementos del array es par, existen dos elementos centrales (elementos con subíndices n DIV 2 y nn DIV 2 + 1), la mediana estará dada por el promedio de ambos.

#include<iostream.h>
void main (void)
{int n,i,j;
double a[50],temp,x,y;
cout<<"INGRESAR EL NUMERO DE ELEMENTOS DEL ARRAY: ";
cin>>n;
cout<<endl;

for(i=1; i<=n;i++)
{cout<<"Ingresar elemento "<<i<<": ";
cin>> a[i];
}
cout<<endl;

for(i=1;i<n;i++)
{for(j=i+1;j<=n;j++)
{if(a[i]<a[j])
{temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
x=(a[n/2]+a[(n/2)+1])/2;
y=a[(n+1)/2];
if(n%2==0)
cout<<"LA MEDIA DEL CONJUNTO DE DATOS ES: "<<x<<endl<<endl;
else
cout<<"LA MEDIA DEL CONJUNTO DE DATOS ES: "<<y<<endl<<endl;

}

10. Lea dos arrays x [ ] y y [ ] calcule su recta de regresión y determine cuál será el valor de y conociendo el valor de x.

#include<iostream.h>
#include<math.h>
void main (void)
{int n,i;
double x2,y2,x,y,p,xx,yy,a[50],b[50];
cout<<endl;
cout<<"INGRESAR EL NUMERO DE ELEMENTOS DEL ARRAY A y B QUE SEA MENOR QUE 50: ";
cin>>n;
cout<<endl;
cout<<endl<<"INGRESAR ELEMENTOS DEL ARREGLO A"<<endl<<endl;
for(i=1; i<=n;i++)
{cout<<"Ingresar elemento "<<i<<": ";
cin>> a[i];
}
cout<<endl<<endl<<"INGRESAR ELEMENTOS DEL ARREGLO B"<<endl<<endl;
for(i=1; i<=n;i++)
{cout<<"Ingresar elemento "<<i<<": ";
cin>> b[i];
}
x2=0;
y2=0;
x=0;
y=0;
p=0;
for(i=1; i<=n;i++)
{x2=x2+pow(a[i],2);
y2=y2+pow(b[i],2);
x=x+a[i];
y=y+b[i];
p=p+a[i]*b[i];
}
for(i=1;i<=n;i++)
{yy=(y/2)+(((p/n)/((x2/n)-(x/2)))*(a[i]-(x/2)));
cout<<"LA RECTA DE REGRESION DE y SOBRE x: "<<yy<<endl;
}
cout<<endl;
for(i=1;i<=n;i++)
{xx=(x/2)+(((p/n)/((y2/n)-(y/2)))*(b[i]-(y/2)));
cout<<"LA RECTA DE REGRESION DE x SOBRE y: "<<xx<<endl;
}
cout<<endl;
}

11. Se tiene un vector de n dimensiones. Si dicho vector se representa mediante un array la longitud del vector estará dada por longitud= Lea un vector y calcule su longitud.

#include<iostream.h>
#include<math.h>
void main (void)
{int a[50],n,i,s;
double l;
cout<<"INGRESAR EL NUMERO DE ELEMENTOS DEL ARRAY: ";
cin>>n;
cout<<endl;
s=0;
for(i=1; i<=n;i++)
{cout<<"Ingresar elemento "<<i<<": ";
cin>> a[i];
s=s+pow(a[i],2);
}
cout<<endl;
l=sqrt(s);
cout<<" * LA LONGITUD DEL VECTOR ES: "<<l<<endl<<endl;
}





1. Muestre todos los pares entre a y b, Y diga cuántos son.

#include<iostream.h>
void main (void)
{int a,b,c,i;
cout<<"Introducir el primer numero: ";cin>>a;
cout<<"Introducir el segundo numero: ";cin>>b;
i=0;
cout<<endl;
c=a;
for(a=a+1; a<b; a++)
{if(a%2==0)
{i=i+1;
cout<<a<<endl;
}
}
cout<<"Los numeros pares entre "<<c<<" y "<<b<<" son: "<<i<<endl<<endl;
}

2. Un Número se considera perfecto si es igual a la suma de sus
divisores menores que el. Escriba un programa para encontrar todos los números perfectos dentro de un rango dado.

#include<iostream.h>
void main (void)
{int i,n,s,m;
s=0;
cout<<endl;
cout<<"Introducir el primer numero: ";cin>>n;
cout<<"Introducir el segundo numero: ";cin>>m;
for(n=n+1;n<m;n++)
{s=0;
for(i=1;i<n;i++)

{if(n%i==0)
s=s+i;

}//fin segundo for
if(s==n)
cout<<s<<endl;
}//fin primer for
}//fin main

3. Encuentre todos los números primos de 3 dígitos.

#include<iostream.h>
void main (void)
{int n,i,x;
cout<<endl<<"NUMEROS PRIMOS DE TRES CIFRAS: "<<endl<<endl;
x=0;
for(n=100;n<1000;n++)
{x=0;
for(i=1;i<n;i++)
{if(n%i==0)
x=x+i;
}
if(x==1)
cout<<n<<"--";
}
cout<<endl<<endl;
}
4. Un cubo perfecto o número Amstrong es aquel que sumados los cubos de
sus dígitos nos dan el mismo número. Encuentre los 5 únicos cubos perfectos.

#include<iostream.h>
#include<math.h>
void main (void)
{ int n,num,a,s,b,i;
i=0;
cout<<endl<<"LOS NUMEROS CUBOS PERFECTOS SON :"<<endl<<endl<<endl;
for(n=1;i<=100;n++)
{b=n;

s=0;
while(b>0)
{num=b%10;
b=b/10;

a=pow(num,3);
s=s+a;
}
if(s==n)
{i=i+1;
cout<<"El numero "<<i<<" es: "<<s<<endl<<endl;
}


}

}

5. Dos números son amigos cuando la suma de los divisores de uno de ellos es igual al otro y viceversa. Muestre, si existen, los números amigos donde ambos números sean menores que n.

#include<iostream.h>
void main (void)
{int n,a,b,c,d,i,j,x,y;
cout<<"Ingresar el numero: ";cin>>n;
c=0;
d=0;
for(a=1;a<n;a++)
{x=0;
for(i=1;i<a;i++)
{if(a%i==0)
x=x+i;
}//fin segundo for
for(b=1;b<n;b++)
{y=0;
for(j=1;j<b;j++)
{if(b%j==0)
y=y+j;
}//fin cuarto for

if((x==b)&&(y==a))
if((a!=d)&&(b!=c))
{cout<<a<<"*"<<b<<endl<<endl;
c=a;
d=b;}
}//fin tercer for
}//fin primer for
}

6. Muestre todos los números capicúas o palíndromos dentro de un rango determinado Un número es capicúa cuando al invertir sus cifras nos da el mismo número.

#include<iostream.h>
#include<math.h>
void main (void)
{int n,m,num,a,b,Rf,R,P,e,c;
cout<<"Ingrese el primer numero: ";cin>>n;
cout<<"Ingrese el segundo numero: ";cin>>m;
cout<<endl<<"LOS NUMEROS CAPICUAS SON LOS SIGUENTES: "<<endl<<endl;

for(n=n+1;n<m;n++)
{a=n;
b=n;
Rf=0;
P=0;
while (a>0)
{num=a%10;
a=a/10;
P=P+1;
}
P=P-1;
while (b>0)
{c=b%10;
b=b/10;
e=pow(10,P);
R=c*e;
Rf=Rf+R;
P=P-1;}
if(Rf==n)
cout<<n<<endl;
}
cout<<endl;
}

7. Leer n números e indique el mayor, menor y el promedio.

#include <iostream.h>
void main (void)
{int n,i;
double P,a,s,M,m;
cout<<"INGRESE LA CANTIDAD DE NUMEROS: ";cin>>n;
cout<<endl;
M=0;
m=999999999;
s=0;
for(i=1;i<=n;i++)
{cout<<"Ingresar el numero "<<i<<": ";cin>>a;
if(a>M)
M=a;
if(a<m)
m=a;
s=s+a;
}
P=s/i;
cout<<endl<<"El numero mayor es: "<<M<<endl<<"El numero menor es: "
<<m<<endl<<"El promedio es: "<<P<<endl<<endl;
}

8. Lea n notas con sus respectivos pesos y obtenga el promedio ponderado.

#include <iostream.h>
void main (void)
{int n,i;
double a,s,p,S;
cout<<"INGRESE LA CANTIDAD DE NOTAS: ";cin>>n;
cout<<endl;
S=0;
for(i=1;i<=n;i++)
{cout<<" * Ingresar la Nota "<<i<<": ";cin>>a;
cout<<" Ingresar el peso de la Nota "<<i<<": ";cin>>p;
cout<<endl;
s=(a*p);
S=S+s;
}
cout<<endl<<"EL PROMEDIO PONDERADO ES: "<<S<<endl<<endl;
}

9. Construya la tabla de sumar del 1 al 20.

#include<iostream.h>
#include<conio.h>
void main (void)
{int i,j ;
for(i=1;i<=20;i++)
{cout<<endl;
cout<<" *** TABLA DE MULTIPLICAR DEL "<<i<<" ***"<<endl<<endl;
for(j=1;j<=20;j++)
{cout<<i<<"*"<<j<<"="<<i*j<<endl;
}
getch();

}
}

10. Imprima el número 1, una vez; el 2, dos veces; el 3, tres veces; y así
sucesivamente hasta llegar a un número n ingresado por teclado.

#include<iostream.h>
void main (void)
{int i,j,n;
cout<<"Ingresar el valor de n: ";cin>>n;
cout<<endl;
for(i=1;i<=n;i++)
{for(j=1;j<i;j++)
{if(i<10)
cout<<i<<" ";
else
cout<<i<<" ";

}
cout<<""<<i<<endl;}
cout<<endl;
}

11. Si tenemos n dígitos y deseamos formar números de r cifras (n>=r),
¿Cuántos números diferentes podemos obtener?

#include<iostream.h>
void main (void)
{int n,r,a,P,p,R,i;
cout<<endl<<"* Ingrese el numero de digitos: ";cin>>n;
cout<<"* Ingrese el numero de cifras de numeros a formar: ";cin>>r;
cout<<endl;
P=1;
p=1;
a=n-r;
for(a=a+1;a<=n;a++)
{P=P*a;}
for(i=1;i<=r;i++)
{p=p*i;}

R=P/p;
cout<<R*2<<endl<<endl;
}

12. Escriba un programa que muestre los n primeros números de la secuencia de Fibonacci. Demuestre que la razón entre dos términos consecutivos se aproxima a (1 + Y 5)/2, este número es conocido como "el justo medio".

#include<iostream.h>
void main (void)
{int y,x,s,i,n,m;
cout<<endl;
cout<<"CUANTOS NUMEROS DE SECUENCIA DE FIBONACCI QUIERE QUE SE MUESTRE: ";cin>>n;
cout<<endl;
x=0;
y=1;
cout<<x<<"-"<<y<<"-";
m=n-3;
for(i=1;i<=m;i++)
{s=x+y;
x=y;
y=s;
cout<<s<<"-";
}
cout<<x+y<<endl;
cout<<endl<<endl;

}

13. Un vendedor hace n ventas. Por cada venta de hasta S/. 1000, recibe el 10% de comisión, por ventas de hasta S/. 3000 recibe 8% sobre el monto adicional a 1000, mientras que si llega a S/. 5000 recibirá el 6% sobre el adicional a 3000, por ventas de hasta" S/. 9000 recibirá el 4% sobre el adicional a 5000, finalmente recibirá el 2% por toda venta superior a S/. 9000. ¿Cuál es el total de sus ventas y cuánto recibe de comisión por ellas?

#include<iostream.h>
void main (void)
{int n,i;
double c,p,s,S;
cout<<endl;
cout<<"INGRESAR EL NUMERO DE VENTAS: ";cin>>n;
s=0;
S=0;
for(i=1;i<=n;i++)
{cout<<"Introducir la cantidad de la venta "<<i<<": ";cin>>c;
if(c<=1000)
p=0.10*c;
else if(c<=3000)
p=0.08*c;
else if(c<=5000)
p=0.06*c;
else if(c<=90000)
p=0.04*c;
else
p=0.02*c;
s=s+p;
S=S+c;
}
cout<<endl<<"* EL total de sus ventas fue: "<<S<<endl<<"* Su comicion total es de: "<<s<<endl<<endl;

}

14. ada una fecha dd/mm/aaa, imprima el calendario correspondiente a ese mes.

#include<iostream.h>
void main (void)
{int dia,mes,a,maxdia,i;
cout<<"Ingresar el dia: ";cin>>dia;
cout<<"Ingresar el mes: ";cin>>mes;
cout<<"Ingresar el annio: ";cin>>a;
cout<<endl<<endl;
switch(mes) { case 1:case 3:case 5:case 7:case 8:case 10:
case 12:maxdia=31;break;
case 4:case 6:case 9:case 11:maxdia=30;break;
case 2:if(!(a%4)&&(a%100)||!(a%400))
maxdia=29;
else maxdia=28;break;
}
for(i=1;i<=maxdia;i++)
{if(i<=6)
cout<<i<<" ";
else if(i==7)
cout<<i<<endl;
else if(i<=9)
cout<<i<<" ";
else if(i<=13)
cout<<i<<" ";
else if(i==14)
cout<<i<<endl;
else if(i<=20)
cout<<i<<" ";
else if(i==21)
cout<<i<<endl;
else if(i<=27)
cout<<i<<" ";
else if(i==28)
cout<<i<<endl;
else
cout<<i<<" ";
}
cout<<endl<<endl;
}

15. Escriba un programa que genere todos los números de 4 digitos en base 6 y sus equivalentes en base 10.

#include<iostream.h>
#include<math.h>
void main (void)
{int i,j,num,c,r,s;
for(i=216;i<=1295;i++)
{c=i;
s=0;
for(j=0;j<=3;j++)
{num=c%6;

c=c/6;
cout<<num<<"*"<<c<<endl;
r=num*(pow(10,j));
s=s+r;
}
cout<<s<<" = "<<i;
cout<<endl<<endl;
}
}

16. Determinar la suma de los n primeros términos de la serie:
...

#include<iostream.h>
#include<math.h>
void main (void)
{int n,x,i;
double s,R;
cout<<"Ingrese la cantidad de terminos que se va a sumar: ";cin>>n;
cout<<"Ingrese el valor de x: ";cin>>x;
s=0;
for(i=1;i<=n;i++)
{if(i%2!=0)
{R=pow(x,i)/pow(i,2);
s=s+R;
}
else
{R=pow(x,i)/pow(i,2);
s=s-R;
}
}
cout<<"La suma hasta el termino "<<n<<" es: "<<s<<endl<<endl;

}





CODIFICACON EN C++

1. Use una función para convertir pulgadas a centímetros (1 pulgada = 2.54 cm.).

#include<iostream.h>
double centi(double);
void main (void)
{double pulg,cent;
cout<<"INGRESE PULGADAS: ";
cin>>pulg;
cent=centi(pulg);
if(pulg==1)
cout<<endl<<pulg<<" PULGADA ES: "<<endl
<<" "<<cent<<" centimetros"<<endl<<endl<<endl;
else
cout<<endl<<pulg<<" PULGADAS SON: "<<endl
<<" "<<cent<<" centimetros"<<endl<<endl<<endl;
}



double centi(double pulg)
{double cent;
cent=2.54*pulg;
return cent;
}

2. Mediante una función diga si un número es divisible por otro.

#include<iostream.h>
int divisible(int,int);
void main (void)
{int num,i;
cout<<"* INGRESE EL NUMERO: ";cin>>num;
cout<<endl;
cout<<"* INGRESE EL NUMERO QUE LO VA A DIVIDIR: ";cin>>i;
cout<<endl<<endl;
if(divisible(num,i))
cout<<" no es divisible entre "<<i<<endl<<endl;
else
cout<<" si es divisible entre "<<i<<endl<<endl;

}
int divisible(int num,int i)
{if(num%i==0)
return 0;
else
return 1;
}


3. Escriba una función que calcule el área de un triángulo por el método del semiperímetro.

#include<iostream.h>
#include<math.h>
float atriangulo(int,int,int,int);
void main (void)
{int a,b,c,p;
float A;
cout<<" * INGRESAR p: ";cin>>p;
cout<<" * INGRESAR EL LADO a: ";cin>>a;
cout<<" * INGRESAR EL LADO b: ";cin>>b;
cout<<" * INGRESAR EL LADO c: ";cin>>c;
A=atriangulo(p,a,b,c);
cout<<endl<<" El area del triangulo es:"<<A;
}
float atriangulo(int p,int a,int b,int c)
{float H,s;
s=p*(p-a)*(p-b)*(p-c);
H=sqrt(s);
return H;
}




4. Usando funciones, calcule el área sombreada formada por una circunferencia inscrita en un cuadrado de lado a.

#include<iostream.h>
double areatotal(double);
void main(void)
{double a,A;
cout<<" * INGRESE EL LADO DEL CUADRADO: ";cin>>a;

A=areatotal(a);
cout<<endl<<" El area de la circunferencia inscrita: "<<A<<endl<<endl<<endl;
}
double areatotal(double a)
{double B;
B=(a/2)*(a/2)*3.1416;
return B;
}

5. Escriba una función que acepte un número y devuelva otro número con las cifras en orden inverso. Así, si el número es 12345 el nuevo número será 54321.

#include<iostream.h>
#include<math.h>
int invertido(int);
void main (void)
{int n,z;
cout<<endl<<"INGRESE EL NUMERO: ";cin>>n;
z=invertido(n);
cout<<z<<endl<<endl;
}
int invertido(int n)
{int p,num,s,S,nu;
p=0;
S=0;
nu=n;
while(nu>0)
{nu=nu/10;
p=p+1;
}
p=p-1;
while(n>0)
{num=n%10;
n=n/10;
s=num*pow(10,p);
S=S+s;
p=p-1;
}
return S;
}


6. Un número se considera perfecto cuando la suma de sus divisores es igual al número. Por ejemplo 6 tiene como divisores al, 2 y3 y como 1+2+3= 6, el número 6 será perfecto; 28 tiene como divisores al, 2, 4, 7, 14, luego 28 es perfecto pues 1+2+4+7+14=28, lo mismo ocurre con 496 y 8128. Escriba una función que diga si un número es perfecto.

#include<iostream.h>
int nperfecto(int);
void main (void)
{int n;
cout<<endl<<"INGRESE EL NUMERO>> ";cin>>n;
cout<<endl;
if(nperfecto(n))
cout<<" * Si es numero perfecto"<<endl<<endl;
else
cout<<" * No es numero perfecto"<<endl<<endl;
}
int nperfecto(int n)
{int s,i;
s=0;
for(i=1;i<n;i++)
{if(n%i==0)
s=s+i;
}
if(s==n)
return 1;
else
return 0;
}

7. Haciendo uso de la función escrita en el problema anterior, encuentre los números perfectos menores que m.

#include<iostream.h>
void nperfectos(int);
void main (void)
{int n;
cout<<endl<<"INGRESE EL NUMERO>> ";cin>>n;
cout<<endl;
nperfectos(n);

}
void nperfectos(int n)
{int s,i,j;
s=0;
for(i=1;i<=n;i++)
{
for(j=1;j<i;j++)
{if(i%j==0)
s=s+j;
}
if(s==i)
{cout<<s<<endl<<endl;
s=0;
}
else
s=0;

}
}



8. El máximo común divisor (mcd) de un conjunto de números es el máximo número que divide exactamente a todos ellos. Escriba una función que encuentre el mcd de dos números por el método de Euclides (ver Problema 4.13).

#include<iostream.h>
void mcdeuclides(int,int);
void main(void)
{int a,b;
cout<<endl<<" * INGRESE EL PRIMER NUMERO: ";cin>>a;
cout<<" * INGRESE EL SEGUNDO NUMERO: ";cin>>b;
mcdeuclides(a,b);
}

void mcdeuclides(int a,int b)
{int r;
while(b>0)
{r=a%b;
a=b;
b=r;
}
cout<<endl<<" EL MCD ES: "<<a<<endl<<endl;
}

9. Obtenga el Triángulo de Pascal (ver Problema 6.18), usando la función que calcula el número combinatorio mostrada en el Problema 8.7.

#include<iostream.h>
void TriangulodePascal(int);
void main (void)
{int n;
cout<<" * INGRESE EL NUMERO DE FILAS: ";cin>>n;
TriangulodePascal(n);
}

void TriangulodePascal(int n)
{int i,j,nro=1;
cout<<nro<<endl;
for(i=1;i<=n;i++)
{cout<<nro<<"t";
for(j=1;j<=i;j++)
{nro=nro*(i-j+1)/j;
cout<<nro<<"t";
}
cout<<endl;
}
}

10. Escriba una función que retorne el mayor elemento de un array.

#include<iostream.h>
float mayor(int,float[]);
void main (void)
{float a[20],M;
int i,n;
cout<<"Ingrese el numero de elementos: ";cin>>n;
cout<<endl;
cout<<" INGRESE EL ARRAY: "<<endl;
cout<<endl;
for(i=1;i<=n;i++)
{cout<<"Ingrese el elemeto "<<i<<": ";
cin>>a[i];
}
M=mayor(n,a);
cout<<endl<<" * El mayor elemento del array es: "<<M<<endl<<endl<<endl;
}

float mayor(int n,float a[])
{int j;
float may;
may=0;
for(j=1;j<=n;j++)
{if(a[j]>may)
may=a[j];
}
return may;
}


11. Escriba una función que ordene un array por el método de selección.

#include<iostream.h>
void seleccion(int,float[]);
void main (void)
{int i,n;
float a[200];
cout<<endl<<"Ingrese el numero de elementos del array: ";
cin>>n;
cout<<endl<<" INGRESEAR EL ARRAY"<<endl<<endl;
for(i=1;i<=n;i++)
{cout<<"Ingrese el elemento "<<i<<": ";
cin>>a[i];
}
seleccion(n,a);
}

void seleccion(int n, float a[])
{int i,j,k;
float menor;
for(i=1;i<n;i++)
{k=i;
menor=a[i];
for(j=i+1;j<=n;j++)
{if(a[j]<menor)
{k=j;
menor=a[j];
}
}
a[k]=a[i];
a[i]=menor;
}
cout<<endl<<" * EL ARRAY ORDENADO ASCENDENTEMENTE POR EL METODO DE SELECION: "<<endl<<endl;
for(i=1;i<=n;i++)
{
cout<<"Elemento "<<i<<": "<<a[i]<<endl;
}
cout<<endl<<endl;
}


12. Escriba una función que ordene un array por el método de inserción.

#include<iostream.h>
void insercion(int,float[]);
void main (void)
{int i,n;
float a[200];
cout<<endl<<"Ingrese el numero de elementos del array: ";
cin>>n;
cout<<endl<<" INGRESEAR EL ARRAY"<<endl<<endl;
for(i=1;i<=n;i++)
{cout<<"Ingrese el elemento "<<i<<": ";
cin>>a[i];
}
insercion(n,a);
}

void insercion(int n, float a[])
{int i,j;
float menor;
for(i=2;i<=n;i++)
{menor=a[i];
for(j=i-1;j>=0 && menor<a[j];j--)
{a[j+1]=a[j];
}
a[j+1]=menor;
}
cout<<endl<<" * EL ARRAY ORDENADO ASCENDENTEMENTE POR EL METODO DE LA INSERCION: "<<endl<<endl;
for(i=1;i<=n;i++)
{
cout<<"Elemento "<<i<<": "<<a[i]<<endl;
}
cout<<endl<<endl;
}

















13. Escriba una función para calcular la media aritmética, la geométrica, armónica, la cuadrática (mc= ) , la ponderada, la varianza y la desviación

estándar de los datos. Recuerde que la desviación estándar es la raíz cuadrada de la varianza.

#include<iostream.h>
#include<math.h>
double mediaritmetica (int,double[]);
double geometricarmonica(int,double[]);
double cuadratica (int,double[]);
double varianza(int,double[]);
double desviacionestandar(int,double[]);
void main (void)
{int i,n;
double a[200],m,g,c,v,d;
cout<<endl<<"INGRESE LA CANTIDAD DE NUMEROS QUE VA A INGRESAR: ";
cin>>n;
cout<<endl;
for(i=1;i<=n;i++)
{cout<<" - numero "<<i<<": ";
cin>>a[i];
}
cout<<endl;
m=mediaritmetica(n,a);
g=geometricarmonica(n,a);
c=cuadratica(n,a);
v=varianza(n,a);
d=desviacionestandar(n,a);

cout<<" * La media aritmetica es: "<<m<<endl;
cout<<" * La geometrica armonica es: "<<g<<endl;
cout<<" * La cuadratica es: "<<c<<endl;
cout<<" * La varianza es: "<<v<<endl;
cout<<" * La deviacion estandar es: "<<d<<endl;

cout<<endl<<endl;
}
/***********FUNCION MEDIA ARITMETICA*****************/
double mediaritmetica(int n,double a[])
{int i;
double s;
s=0;
for(i=1;i<=n;i++)
{s=s+a[i];
}
s=s/n;
return s;
}
/***********FUNCION GEOMETRICA ARMONICA***************/
double geometricarmonica(int n, double a[])
{double s;
int i;
s=0;
for(i=1;i<=n;i++)
{s=s+a[i];
}
s=1/sqrt(s);
return s;

}
/***********FUNCION CUADRATICA************************/
double cuadratica(int n, double a[])
{double s,r;
int i;

s=0;
for(i=1;i<=n;i++)
{s=s+pow(a[i],2);
}
r=s/n;
r=sqrt (r);
return r;

}
/***********FUNCION VARIANZA***************************/
double varianza(int n,double a[])
{int i;
double p,s,r;
p=0;
s=0;
for(i=1;i<=n;i++)
{p=p+pow(a[i],2);
s=s+a[i];
}
s=(s*s)/n;
r=(p-s)/(n-1);
return r;

}
/***********FUNCION DESVIACION ESTANDAR*****************/
double desviacionestandar(int n,double a[])
{int i;
double p,s,r;
p=0;
s=0;
for(i=1;i<=n;i++)
{p=p+pow(a[i],2);
s=s+a[i];
}
s=(s*s)/n;
r=(p-s)/(n-1);
r=sqrt(r);
return r;

}
















































13. Escriba una función para calcular la media aritmética, la geométrica, armónica, la cuadrática (mc= ) , la ponderada, la varianza y la desviación

estándar de los datos. Recuerde que la desviación estándar es la raíz cuadrada de la varianza.

#include<iostream.h>
#include<math.h>
void mediaritmetica (int,float[]);
void cuadratica (int,float[]);
void varianza(int,float[]);
void desviacionestandar(int,float[]);
void main (void)
{int i,n;
float a[200];
cout<<endl<<"INGRESE LA CANTIDAD DE NUMEROS QUE VA A INGRESAR: ";
cin>>n;
cout<<endl;
for(i=1;i<=n;i++)
{cout<<" - numero "<<i<<": ";
cin>>a[i];
}
cout<<endl;
mediaritmetica (n,a);
cuadratica (n,a);
varianza(n,a);
desviacionestandar(n,a);
cout<<endl<<endl;
}
/*--------------------------------------------------*/
void mediaritmetica(int n,float a[])
{int i;
float s;
s=0;
for(i=1;i<=n;i++)
{s=s+a[i];
}
cout<<" * La media aritmetica es: "<<s/n<<endl;
}
/*--------------------------------------------------*/
void cuadratica(int n,float a[])
{int i;
float s,r;
s=0;
for(i=1;i<=n;i++)
{s=s+pow(a[i],2);
}
r=s/n;
r=sqrt (r);
cout<<" * La cuadratica es: "<<r<<endl;
}
/*--------------------------------------------------*/
void varianza(int n,float a[])
{int i;
float p,s,r;
p=0;
s=0;
for(i=1;i<=n;i++)
{p=p+pow(a[i],2);
s=s+a[i];
}
s=(s*s)/n;
r=(p-s)/(n-1);
cout<<" * La varianza es: "<<r<<endl;
}
/*--------------------------------------------------*/
void desviacionestandar(int n, float a[])
{int i;
float p,s,r;
p=0;
s=0;
for(i=1;i<=n;i++)
{p=p+pow(a[i],2);
s=s+a[i];
}
s=(s*s)/n;
r=(p-s)/(n-1);
r=sqrt(r);
cout<<" * La deviacion estandar es: "<<r<<endl;
}




CODIFICACIÓN EN VISUAL C++

1.-En una universidad se pueden llevar hasta 22 créditos en un ciclo. Escriba un algoritmo que permita a un alumno matricularse, sin pasarse del límite de créditos permitidos.

#include<iostream.h>
void main(void)
{int c,tc ;
tc=0;
do
{ cout<<endl<<"INGRESAR CREDITOS DEL CURSO: ";
cin>> c;
tc=tc+c;
if (tc>22)
{tc=tc-c;
cout<<" curso no matriculado"<<" !!! sobrepaso el limite de los 22 creditos"<<endl<<endl;}
else
{cout<<" curso matriculado"<<endl<<endl;

cout<<"total de creditos acumulados: " <<tc<<endl;
}
}
while (tc<22 );

}

2.- Una vendedora de pan tiene n unidades de pan al comenzar el día. Si cada cliente le pide m panes, ¿Cuántos clientes son atendidos completamente? ¿Cuántos panes queda para el último cliente?

#include <iostream.h>
void main (void)
{int n,m,i ;
i=1;
cout<<endl<<"INGRESE EL TOTAL DE PANES: ";cin>>n;
cout<<"CANTIDAD DE PANES QUE PIDE CADA CLIENTE: ";cin>>m;
do
{ n=n-m;
if(n>=m)
i=i+1;
else if (n==0)
cout<<endl<<"* El ultimo no recibio ningun pan: "<<endl;
else if(n==1)
cout<<endl<<"* El ultimo recibio 1 pan"<<endl;
else
cout<<endl<<"* EL ultimo recibio "<<n<<" panes"<<endl;
}
while(n>=m);
if(i==1)
cout<<"* Solo 1 cliente fue atendido completamente "<<endl<<endl;
else
cout<<"* Los clientes que fueron atendidos completamente fueron: "<<i<<endl<<endl;
}


3.- Un cliente de un banco realiza sucesivos retiros desde un cajero, si posee 1000 al inicio de las operaciones, escriba un programa que le permita retirar dinero mientras tenga fondos.

#include<iostream.h>
void main(void)
{double r,s ;
s=1000;
do
{ do
{cout<<"Ingrese la cantidad de su retiro: ";cin>>r;
if (r>s)
{do {cout<<"Su retiro es mayor que su saldo"<<endl;
cout<<"Ingrese la cantidad de su retiro: ";cin>>r;}
while(r>s);
}
}
while (r<0);
s=s-r;
cout<<"Su saldo es: "<<s<<endl<<endl;
}
while (s>0 );
cout<<"Su saldo ya no tiene fondos para hacer otro retiro: "<<endl;
}

4.- En un cajero se muestra un menú de opciones retiro, saldo, depósito y salir. Escriba un algoritmo que efectúe dichas operaciones.

#include<iostream.h>
void main(void)
{int r,s,d,opc ;
s=1000;
do
{cout<<endl<<" ***MENU***"<<endl<<endl
<<" 1 = Retiro"<<endl<<" 2 = Saldo"<<endl
<<" 3 = Deposito"<<endl<<" 4 = Salir"<<endl;

cout<<"Ingresar opcion: ";cin>>opc;
switch(opc)
{case 1:
if(s==0)
cout<<endl<<"Su saldo ya no tiene fondos para hacer retiros"<<endl;
else
{ do
{cout<<endl<<"Ingrese la cantidad de su retiro: ";cin>>r;
if (r>s)
{do {cout<<endl<<"!!! Su retiro es mayor que su saldo"<<endl;
cout<<endl<<"Ingrese la cantidad de su retiro: ";cin>>r;}
while(r>s);
}
}
while (r<0);
s=s-r;
cout<<"Su saldo es: "<<s<<endl<<endl;
break;}

case 2:
cout<<endl<<"Su saldo es: "<<s<<endl;
break;

case 3:
do
{cout<<endl<<"Ingrese su deposito: ";cin>>d;}
while(d<=0);
s=s+d;
cout<<"Su deposito fue de: "<<d<<endl;
cout<<"Su saldo es de: "<<s<<endl;
break;

}
}
while (opc!=4 );
cout<<endl<<"Gracias por utilizar nuestro servicio "<<endl<<endl;

}

5.- A una fista ingresan personas de diferentes edades, no se permite el ingreso a personas menores de edad. Se pide la edad menor, la edad mayor, y el promedio de edades. El ingreso debe terminar cuando la edad ingresada sea cero.

#include<iostream.h>
void main(void )
{int m;
double M,P;

do
{cout<<"Ingresar la edad menor: "<<endl;cin>>m;
if(m!=0)
{cout<<"Ingresar la edad mayor: "<<endl;cin>>M;
cout<<"Ingresar el promedio de edades: "<<endl;cin>>P;
}
}
while(m!=0);
}

6.- Calcule la suma de 1/ x, si x varia desde 1 hasta 2 con incrementos muy pequeños, por ejemplo 0.0001, luego multiplique la suma por el incremento y demuestre que el resultado se aproxima a ln 2= 0.6931…

#include <iostream.h>
void main (void)
{double x,r,s;
x=1;
s=0;
do
{
x=x+0.0001;
r=1/x;
s=s+r;
}
while(x<2);
s=s*0.0001;
cout<<endl<<"El resultado es = "<<s<<endl<<endl<<" !!! Demostrado"<<endl;
}

7.- Lea un número positivo y pártalo en dos sumandos de modo que su producto tenga un valor máximo.

#include<iostream.h>
void main (void)
{int n,i,j,m,a,b,p;
cout<<"Ingrese el numero: ";cin>>n;
i=0;
j=n;
m=0;
do
{i=i+1;
j=j-1;
p=i*j;
if(p>=m)
{m=p;
a=i;
b=j;}
}
while (j>1);

cout<<"Sumando 1:"<<endl<< a<<endl<<"Sumando 2:"<<endl<<b<<endl<<"Su producto es"<<m<<endl;
}

8.- ¿Qué rectángulo con perímetro igual a 50 tiene área máxima?

#include<iostream.h>
void main (void)
{int a,b,P,M,i,j;
a=0;
b=25;
M=0;
i=0;
j=0;
do
{a=a+1;
b=b-1;
P=a*b;
if(P>=M)
{M=P;
i=a;
j=b;}
}
while (b>1);

cout<<"EL largo= " <<i<<endl<<"El ancho= "<<j<<endl<<" Su area maxima es= "<< M<<endl;

}

9.- Una ventana tiene forma de rectángulo culminado por un semicírculo. El perímetro de la ventana es 6m . ¿Cuáles son sus dimensiones si debe dejar pasar al máximo la luz?

#include<iostream.h>
void main (void)
{double r,A,L,p,M,l;
int n;
p=3.1416;
r=0;
M=0;
n=0;
do
{r=r+0.00001;
L=(6-((2*r)+(p*r)/2))/2;
A=L*2*p* (p*r*r )/2;

if(A>M)
{M=A;
n=n+1;}
}
while (L>0);
l=n;
l=l*0.00001;
cout<<"La medida de los lados del rectangulo son:"<<endl<<endl<<" LADO 1= "
<<2*l<<endl<<" LADO 2= "<<(6-(2*l)-(3.1416*l)/2)/2<<endl<<" La longitud del semicirculo es= "
<<(3.1416*l)/2<<endl<<" La maxima area de la ventana es= "<<M<<endl<<endl;

}

10.- La función sen(x) va en aumento a partir del punto x=0. Encuentre el valor positivo de x para el cual la función comienza a disminuir.

#include<iostream.h>
#include<math.h>
void main(void)
{int x,y;
double a,b;
x=0;
y=1;
do
{x=x+1;
y=y+1;
a=sin(x);
b=sin(y);
}
while(b>a);
cout<<endl<<"El valor positivo de x para el cual la funcion comienza a disminuir es= "<<x<<endl<<endl;
}



11.- La ecuación de la parábola es y=ax*x+bx+c. Si a>0 la parábola esta dirigida hacia arriba y tiene un mínimo, si a<0 la parábola esta dirigida hacia abajo y tiene un máximo. Lea a, b y c y determine el mínimo o el máximo según corresponda. Considere x>=0.

#include<iostream.h>
void main (void)
{double a,b,c,x,y;
int n;
do
{cout<<endl;
cout<<"Se sale con 0 y se intruduce valores con 1: "<<endl;cin>>n;

switch(n)
case 1:
{cout<<"INTRODUCIR EL VALOR DE a: ";cin>>a;
cout<<"INTRODUCIR EL VALOR DE b: ";cin>>b;
cout<<"INTRODUCIR EL VALOR DE c: ";cin>>c;
if(a>0)
{x=-b/(2*a);
y=c-((b*b)/(4*a));
cout<<endl<<"La parabola esta dirigida