Algoritmos en c++

21
Aproximaciones de PI #include<iostream> #include<math.h> using namespace std; void main(){ int i,n,PIC,PI,suma=0,denominador=1; cout<<endl<<"Escriba el numero de la serie"; cin>>n; for(i=2;i<=n+1;i++){ PIC=(-1^i)/denominador; suma=suma+PIC; denominador=denominador+2; } PI=suma*4; cout<<endl<<"La aproximacion de PI es:"<<PI; } Área del círculo #include<iostream> #include<math.h> using namespace std; void main(){ float π=3.141592654,r,a; cout<<endl<<"digite el valor del radio:"; cin>>r; a=(π*pow(r,2)); cout<<"el area del circulo es:"<<a<<endl<<endl; } Burbuja #include <iostream> #include <math.h> using namespace std; void main (){ float A[99999],Z; int n,i,j,nose,K; cout<<endl<<"digite el numero de casillas a utiliza:"; cin>>n; for (i=1;i<=n;i=i+1){ cout<<"digite los elementos del vector: \t"; cin>>A[i];

Transcript of Algoritmos en c++

Page 1: Algoritmos en c++

Aproximaciones de PI

#include<iostream>#include<math.h>using namespace std;void main(){

int i,n,PIC,PI,suma=0,denominador=1;cout<<endl<<"Escriba el numero de la serie";cin>>n;for(i=2;i<=n+1;i++){PIC=(-1^i)/denominador;suma=suma+PIC;denominador=denominador+2;}PI=suma*4;cout<<endl<<"La aproximacion de PI es:"<<PI;

}

Área del círculo

#include<iostream>#include<math.h>using namespace std;void main(){

float π=3.141592654,r,a;cout<<endl<<"digite el valor del radio:";cin>>r;

a=(π*pow(r,2));cout<<"el area del circulo es:"<<a<<endl<<endl;

}

Burbuja

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

void main (){float A[99999],Z;int n,i,j,nose,K;cout<<endl<<"digite el numero de casillas a utiliza:";cin>>n;for (i=1;i<=n;i=i+1){

cout<<"digite los elementos del vector: \t";cin>>A[i];

}for (i=2;i<=n;i=i++){

nose=A[i];K=i;for (j=0;j<=n-1;j=j+1){

if (nose<A[j+1]){Z=nose;nose=A[j+1];A[j+1]=Z;

Page 2: Algoritmos en c++

}}A[K]=A[i];A[i]=nose;

}for(i=1;i<=n;i++){

cout<<A[i]<<"\t";}cout<<endl;

}

Cajero de supermercado

#include<iostream>#include<math.h>using namespace std;void main(){

float R,P,C,TOTAL,TOTAL2=0,R1;cout<<endl<<"1:entrar o 2:cancelar entrada";cin>>R;while(R==1){

TOTAL=0;do{

cout<<endl<<"Escriba el precio del articulo:";cin>>P;cout<<endl<<"Escriba la cantida de este articulo:";cin>>C;TOTAL=TOTAL+(P*C);cout<<endl<<"1:continuar o 2:salir:";cin>>R1;

}while(R1==1);cout<<endl<<"El total de la compra es:"<<TOTAL<<endl;TOTAL2=TOTAL2+TOTAL;cout<<endl<<"1:continuar,hay mas clientes o 2:salir, fin de

la jornada:";cin>>R;

}cout<<endl<<"El total cobrado a todos los

clientes:"<<TOTAL2<<endl;}

Cilindro

#include<iostream>#include<math.h>using namespace std;void main(){

float π=3.141592654,r,h,V,A;cout<<endl<<"Digite el valor del radio:";cin>>r;cout<<"Digite el valor de la altura:";cin>>h;V=π*pow(r,2)*h;cout<<"El volumen del cilindro es:"<<V<<endl;

Page 3: Algoritmos en c++

A=2*π*r*h;cout<<"El area del cilindro es:"<<A<<endl<<endl;

}

Cono

#include<iostream>#include<math.h>using namespace std;void main(){

float π=3.141592654,r,h,V,A;cout<<endl<<"Digite el valor del radio:";cin>>r;cout<<"Digite el valor de la altura:";cin>>h;V=(π*pow(r,2)*h)/3;

cout<<"El volumen del cono es:"<<V<<endl;A=(π*r*sqrt(pow(r,2)+pow(h,2)))/3;

cout<<"El area del cono es:"<<A<<endl<<endl;}

Un teatro otorga descuentos según la edad del cliente. Determinar la cantidad de dinero que el teatro deja de percibir por cada una de las categorías. Tomar en cuenta que los niños menores de 5 años no pueden entrar al teatro y que existe un precio único en los asientos. Los descuentos se hacen tomando en cuenta el siguiente cuadro:

Edad Descuento

Categoría 1: 5 - 14 35 %

Categoría 2: 15 - 19 25 %

Categoría 3: 20 - 45 10 %

Categoría 4: 46 - 65 25 %

Categoría 5: 66 en adelante 35 %

#include<iostream>#include<iostream>using namespace std;void main(){

float R=1,P,E,D1=0,D2=0,D3=0,D4=0,D5=0,D;while(R==1){

cout<<endl<<"Escriba la edad del cliente:";cin>>E;cout<<endl<<"Escriba el valor que tienen los asientos:";cin>>P;if(E<5){

cout<<endl<<"Lo siento, personas de su edad no tienen permitida la entrada";

}

Page 4: Algoritmos en c++

else if((E>=5)&&(E<=14)){D=(P*0.35);D1=(D1+D);

}else if((E>=15)&&(E<=19)){

D=(P*0.25);D2=(D2+D);

}else if((E>=20)&&(E<=45)){

D=(P*0.1);D3=(D3+D);

}else if((E>=46)&&(E<=65)){

D=(P*0.25);D4=(D4+D);

}else if(E>=66){

D=(P*0.35);D5=(D5+D);

}cout<<endl<<"1:continuar o 2:terminar:";cin>>R;

}cout<<endl<<"Lo que el teatro deja de recibir por las personas

entre 5 y 14 es de:"<<D1;cout<<endl<<"Lo que el teatro deja de recibir por las personas

entre 15 y 19 es de:"<<D2;cout<<endl<<"Lo que el teatro deja de recibir por las personas

entre 20 y 45 es de:"<<D3;cout<<endl<<"Lo que el teatro deja de recibir por las personas

entre 46 y 65 es de:"<<D4;cout<<endl<<"Lo que el teatro deja de recibir por las personas de

66 en adelante es de:"<<D5<<endl;}

Escribir un algoritmo que permita calcular el cuadrado de los primeros N números enteros e ir guardándolos en un vector y a continuación escribir el vector de cuadrados.

#include<iostream>#include<math.h>using namespace std;void main(){

int v[1000],n,i;cout<<endl<<"Digite el numero de casillas a utilizar:";cin>>n;for(i=1;i<=n;i++){

v[i]=i*i;}for(i=1;i<=n;i++){

cout<<v[i]<<"\t";}

}

Page 5: Algoritmos en c++

Calcular el número de elementos negativos, cero y positivos de un vector de N elementos.

#include<math.h>using namespace std;void main(){

float po=0,ne=0,ce=0; int v[1000],n,i;

cout<<"Digite el numero de casillas a utilizar:"; cin>>n; for(i=1;i<=n;i++){

cout<<"Digite el elemento perteneciente a al vector:"; cin>>v[i];

if(v[i]>0){po=po+1;

}if(v[i]<0){ ne=ne+1;

} if(v[i]==0){

ce=ce+1; }} cout<<endl<<"La cantidad de numeros positivos es de:"<<po;

cout<<endl<<"La cantidad de numeros negativos es de:"<<ne; cout<<endl<<"La cantidad de ceros en el vector es de:"<<ce<<endl;}

Diseñar un algoritmo que calcule el mayor valor de un vector L de N elementos

#include<iostream>#include<math.h>using namespace std;void main(){

float a=0; int v[1000],n,i;

cout<<"Digite el numero de casillas a utilizar:"; cin>>n; for(i=1;i<=n;i++){

cout<<"Digite el elemento perteneciente a al vector:"; cin>>v[i];

if(a<v[i]){a=v[i];

}}cout<<endl<<"El mayor elemento del vector es:"<<a<<endl;

}

Page 6: Algoritmos en c++

Hacer un algoritmo para generar un vector de N elementos con los N primeros números naturales así: 2,1,4,3,6,5,8,7,10,9,12,11,......

#include<iostream>#include<math.h>using namespace std;void main(){

int i,n,v[1000];cout<<endl<<"Digite el numero de casillas a utilizar:";cin>>n;for(i=1;i<=n;i++){

v[i+i]=i+i-1;v[i+i-1]=i+i;

}for(i=1;i<=n;i++){

cout<<v[i]<<"\t";}

}

Llenar 3 vectores con los elementos del vector A que contiene 100 números según el siguiente criterio: Si el número es mayor o igual a Cero y menor que 50 ponerlo en B, si el número es mayor o igual que 50 y menor que 100 ponerlo en C y si el número es mayor o igual que 100 y menor o igual que 150 en D.

#include<iostream>#include<math.h>using namespace std;void main(){

int i,n=10,b[10],c[10],d[10],h=1,j=1,k=1,c1=0,c2=0,c3=0;cout<<"Digite el elemento del vector a:\t";for(i=1;i<=10;i++){ cin>>n;

if((n>=0)&&(n<50)){b[h]=n;h++;c1=c1+1;

}if((n>=50)&&(n<100)){

c[j]=n;j++;c2=c2+1;

}if((n>=100)&&(n<150)){

d[k]=n;k++;c3=c3+1;

}}cout<<endl<<"vector b:\t";for(h=1;h<=c1;h++){

cout<<b[h]<<"\t";}cout<<endl<<"vector c:\t";for(j=1;j<=c2;j++){

cout<<c[j]<<"\t";}

Page 7: Algoritmos en c++

cout<<endl<<"vector d:\t";for(k=1;k<=c3;k++){

cout<<d[k]<<"\t";}

}

Escribir un algoritmo para introducir una serie de números leídos desde teclado a un vector A. Utilizar el valor –9999 para terminar la serie. El algoritmo deberá calcular e imprimir el numero de valores leídos, la suma y el promedio.

#include<iostream>#include<math.h>using namespace std;void main(){

int R=1,vl=0,sv=0,cvl,csv;float pv;cout<<"Digite el elementos del vector a:\t";while(R!=-9999){

cin>>R;vl=vl+1;cvl=vl-1;sv=sv+R;csv=sv+9999;

}pv=(csv/cvl);cout<<endl<<"El numero de valores leidos es de:"<<cvl;cout<<endl<<"La suma de los valores leidos es de:"<<csv;cout<<endl<<"El promedio de los vectores leidos es de:"<<pv<<endl;

}

Se tienen dos vectores con N elementos cada uno. Los vectores están ordenados de menor a mayor. Hacer un algoritmo para crear un nuevo vector de 2N elementos ordenados con los elementos de los primeros. Se debe usar el hecho de tener los dos primeros vectores ordenados; no se permite unirlos y luego ordenarlos.

#include<iostream>#include<math.h>using namespace std;void main(){

int i,n,a[100],b[100],c[200],j,k;cout<<endl<<"Escriba el numero de casillas a utilizar en los

vectores :";cin>>n;for(i=1;i<=n;i++){

cout<<endl<<"Digite los elementos de la casilla" <<i<< "del vector a:\t";

cin>>a[i];}for(j=1;j<=n;j++){

cout<<endl<<"Digite los elementos de la casilla" <<j<< "del vector b:\t";

cin>>b[j];}for(k=1;k<=2*n;k++){

Page 8: Algoritmos en c++

if(i>n){c[k]=b[j];j++;

}else

if(j>n){c[k]=a[i];i++;

}else

if(a[i]<=b[j]){c[k]=a[i];i++;

}else

if(a[i]>=b[j]){c[k]=b[j];j++;

}}cout<<"El vector c resultante es igual a:\t"<<c[k];

}

Esfera

#include<iostream>#include<math.h>using namespace std;void main(){

float π=3.141592654,r,A,V;cout<<endl<<"Digite el valor del radio:";cin>>r;V=(4*π*pow(r,3))/3;cout<<"El volumen de la esfera es:"<<V<<endl;A=4*π*pow(r,2);cout<<"El area de la esfera es:"<<A<<endl<<endl;

}

Promedio de materias

#include<iostream>#include<math.h>using namespace std;float notamayor(float notas[], int tam){

float mayor=0;int i;for(i=0;i<tam;i++){

if(notas[i]>mayor){mayor=notas[i];

}}return mayor;

}float notamenor(float notas[], int tam){

float menor=5;

Page 9: Algoritmos en c++

int i;for(i=0;i<tam;i++){

if(notas[i]<menor){menor=notas[i];

}}return menor;

}float media(float notas[],float creditos[],int tam){

float media=0;int i, sumacreditos=0;for(i=0;i<tam;i++){

media=media+notas[i]*creditos[i];sumacreditos=sumacreditos+creditos[i];

}return media/sumacreditos;

}void main(){

float notas[100],creditos[100],menor,mayor,ponderado;int n=0,opcion,tam;do{

n=n+1;cout<<endl<<"Ingrese la nota de la matetia "<<n<<": ";cin>>notas[n-1];cout<<endl<<"Ingrese la cantidad de creditos de la materia:

"<<n<<":";cin>>creditos[n-1];cout<<endl<<"Ingrese 1 para terminar o 0 para continuar

ingresando materias: ";cin>>opcion;

}while(opcion==0);mayor=notamayor(notas,n);menor=notamenor(notas,n);ponderado=media(notas,creditos,n);cout<<endl<<"La nota mayor es :"<<mayor<<endl;cout<<endl<<"La nota menor es :"<<menor<<endl;cout<<endl<<"El ponderado es :"<<ponderado<<endl;

}

kalah

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

void main(){int j=1,i,k,invk,j1[6],j2[6],s1=0,s2=0,sel,sem;bool sw=false;for (i=1;i<=6;i++){

j1[i]=3;j2[i]=3;

}while (sw==false){

cout<<"\tJugador 1\n";cout<<"Semillas en el almacen: "<<s1<<"\n";for (i=1;i<=6;i++){

Page 10: Algoritmos en c++

cout<<" | "<<j1[i];}cout<<"\n\tJugador 2\n";cout<<"Semillas en el almacen: "<<s2<<"\n";for (i=6;i>0;i--){

cout<<" | "<<j2[i];}

cout<<"\nJugador "<<j<<":\n\n";cout<<"De que casa quiere mover las semillas? ";cin>>sel;while(sel>7 && sel<0){

cout<<"Error, la casa seleccionada no es valida\n";

cout<<"De que casa quiere mover las semillas?";cin>>sel;

}switch(j){

case 1:if (j1[sel]!=0){

sem=j1[sel];j1[sel]=0;k=sel;while(sem>0){

k--;if (k==0){

s1++;if (sem==1){

j=2;}

}else{

if (k<0){j2[k+7]++;if (k+7==1){

k=6;}

}else{

j1[k]++;}

}sem--;

}if(k>0){

switch(k){case 1:

invk=6;break;case 2:

invk=5;break;case 3:

invk=4;break;case 4:

invk=3;

Page 11: Algoritmos en c++

break;case 5:

invk=2;break;case 6:

invk=1;break;

}if (j1[k]==1 && j2[invk]!=0){

s1+=(j1[k]+j2[invk]);j1[k]=0;j2[invk]=0;

}}k=1;while(j1[k]==0 && k<7){

k++;}if(k==7){

sw=true;}

}else{

cout<<"Error, la casa seleccionada esta vacia\n";

j=2;}

break;case 2:

if (j2[sel]!=0){sem=j2[sel];j2[sel]=0;k=sel;while(sem>0){

k--;if (k==0){

s2++;if (sem==1){

j=1;}

}else{

if (k<0){j1[k+7]++;if (k+7==1){

k=6;}

}else{

j2[k]++;}

}sem--;

}if(k>0){

switch(k){

Page 12: Algoritmos en c++

case 1:invk=6;

break;case 2:

invk=5;break;case 3:

invk=4;break;case 4:

invk=3;break;case 5:

invk=2;break;case 6:

invk=1;break;

}if (j2[k]==1 && j1[invk]!=0){

s2+=(j2[k]+j1[invk]);j2[k]=0;j1[invk]=0;

}}k=1;while(j2[k]==0 && k<7){

k++;}if(k==7){

sw=true;}

}else{

cout<<"Error, la casa seleccionada esta vacia\n";

j=1;}

break;}_getch();system("cls");if (j==1){

j=2;}else{

j=1;}

}if (s1>s2){

cout<<"El Ganador fue el Jugador 1 con"<<s1<<" semillas.\n";}else{

if (s2>s1){cout<<"El Ganador fue el Jugador 2 con"<<s2<<"

semillas.\n";}

Page 13: Algoritmos en c++

else{cout<<"Hubo un empate con "<<s2<<" semillas.\n";

}}_getch();

}

Semáforo diez cámaras

#include "stdafx.h"#include <iostream>#include <conio.h>using namespace ::std;void main(){

int mult[10],infr[10],acum[10],i,MENU,menu,cam,SALIR=0,salir=0,exce=0,cond=0,dete=0,avan=0,copiaacum=0,sumamult=0,sumainfr=0,sumaacum=0;

float prominfr;for(i=1;i<=10;i++){

mult[i]=0;}for(i=1;i<=10;i++){

infr[i]=0;}for(i=1;i<=10;i++){

acum[i]=0;}cout<<endl<<"¡¡¡Bienvenido señor Smith!!!"<<endl;while(SALIR==0){

cout<<endl<<"Marque: 1.agregar multa; 2.desplegar reporte; 3.salir: ";

cin>>MENU; if(MENU==1){

cout<<endl<<"Elija la camara: "; cin>>cam;

if(cam>10){cout<<endl<<"Esta camara no se encuentra";

}else{

if((cam%2)!=0){copiaacum=acum[cam];

while(salir==0){cout<<endl<<"Marque: 1.Exceso de

velocidad; 2.conduccion imprudente; 3.detenerse sobre la cebra; 4.Avanzar con semaforo en rojo; 5.salir :";

cin>>menu; if((menu==1)&&(exce==0)){

infr[cam]=infr[cam]+1; acum[cam]=acum[cam]+700000; exce=1;}

else{ if((menu==1)&&(exce==1)){

cout<<endl<<"Esta infraccion ya esta registrada una vez";

}

Page 14: Algoritmos en c++

}

if((menu==2)&&(cond==0)){ infr[cam]=infr[cam]+1; acum[cam]=acum[cam]+700000; cond=1;}

else{ if((menu==2)&&(cond==1)){

cout<<endl<<"Esta infraccion ya esta registrada una vez";

}}

if((menu==3)&&(dete==0)){ infr[cam]=infr[cam]+1; acum[cam]=acum[cam]+350000; dete=1;}

else{ if((menu==3)&&(dete==1)){

cout<<endl<<"Esta infraccion ya esta registrada una vez";

}}

if((menu==4)&&(avan==0)){ infr[cam]=infr[cam]+1; acum[cam]=acum[cam]+350000; avan=1;}

else{ if((menu==2)&&(avan==1)){

cout<<endl<<"Esta infraccion ya esta registrada una vez";

}}if(menu==5){

salir=1;}

}if(copiaacum!=acum[cam]){

mult[cam]=mult[cam]+1;cout<<endl<<"¡¡¡MULTA INGRESADA CON

EXITO!!!";}

salir=0;exce=0;cond=0;dete=0;avan=0,copiaacum=0;

}else{

if((cam%2)==0){copiaacum=acum[cam];while(salir==0){

cout<<endl<<"Marque: 1.Exceso de velocidad; 2.conduccion imprudente; 3.salir :";

cin>>menu; if((menu==1)&&(exce==0)){

infr[cam]=infr[cam]+1; acum[cam]=acum[cam]+700000;

Page 15: Algoritmos en c++

exce=1;}

else{ if((menu==1)&&(exce==1)){

cout<<endl<<"Esta infraccion ya esta registrada una vez";

}}

if((menu==2)&&(cond==0)){ infr[cam]=infr[cam]+1; acum[cam]=acum[cam]+700000; cond=1;

} else{

if((menu==2)&&(cond==1)){ cout<<endl<<"Esta

infraccion ya esta registrada una vez";}

}if(menu==3){

salir=1;}

}if(copiaacum!=acum[cam]){

mult[cam]=mult[cam]+1;cout<<endl<<"¡¡¡MULTA REGISTRADA

CON EXITO!!!";}salir=0;exce=0;cond=0,copiaacum=0;

}}

}for(i=1;i<=10;i++){ cout<<endl<<"Camara "<<i<<": "<<mult[i]<<" multas,

"<<infr[i]<<" infracciones, para un total de $"<<acum[i]<<endl; sumamult=sumamult+mult[i]; sumainfr=sumainfr+infr[i];

sumaacum=sumaacum+acum[i];}if(sumamult==0){ prominfr=0;}else{

prominfr=(sumainfr/sumamult);}cout<<endl<<"El promedio de infracciones por multa es

de: "<<prominfr;cout<<endl<<"El total a recaudar parcialmente es:

"<<sumaacum;sumamult=0;sumainfr=0;sumaacum=0;}else{ if(MENU==2){ for(i=1;i<=10;i++){ cout<<endl<<"Camara "<<i<<": "<<mult[i]<<"

multas, "<<infr[i]<<" infracciones, para un total de $"<<acum[i]<<endl; sumamult=sumamult+mult[i];

Page 16: Algoritmos en c++

sumainfr=sumainfr+infr[i]; sumaacum=sumaacum+acum[i]; } if(sumamult==0){

prominfr=0; } else{ prominfr=(sumainfr/sumamult); }

cout<<endl<<"El promedio de infracciones por multa es de: "<<prominfr;

cout<<endl<<"El total a recaudar parcialmente es: "<<sumaacum;

sumamult=0;sumainfr=0;sumaacum=0;}else{ if(MENU==3){

SALIR=1;}

}}

}for(i=1;i<=10;i++){

cout<<endl<<"Camara "<<i<<": "<<mult[i]<<" multas, "<<infr[i]<<" infracciones, para un total de $"<<acum[i]<<endl;

sumamult=sumamult+mult[i];sumainfr=sumainfr+infr[i];

sumaacum=sumaacum+acum[i];}

if(sumamult==0){ prominfr=0;}else{ prominfr=(sumainfr/sumamult);}cout<<endl<<"El promedio de infracciones por multa es de:

"<<prominfr; cout<<endl<<"El total a recaudar parcialmente es:

"<<sumaacum<<endl;_getch();

}

Multiplicación rusa

#include<iostream>#include<math.h>using namespace std;void main(){

int N1,N2,MULRUS=0,A,B;cout<<endl<<"Escrina el primer numero de la multiplicacion:";cin>>N1;cout<<endl<<"Escriba el segundo numero de la multiplicacion:";

Page 17: Algoritmos en c++

cin>>N2;A=N1;B=N2;while(N1!=N2){

if(N1%2!=0){MULRUS=MULRUS+N2;

}N1=N1/2;N2=N2*2;

}MULRUS=MULRUS+N2;cout<<endl<<"el resultado de la multiplicacion rusa de" " "<<A<<"

""Y"" "<<B<<" ""es:"<<MULRUS<<endl;}

Invertir un numero de tres cifras

#include "stdafx.h"#include <iostream>#include <conio.h>using namespace ::std;void main(){

int Num,cifra1,cifra2,Residuo1,Residuo2,NUMFINAL;cout<<endl<<"Digite el numero de 3 cifras :";cin>>Num;cifra1=Num/100;Residuo1=Num%100;cifra2=Residuo1/10;Residuo2=Residuo1%10;NUMFINAL=((Residuo2*100)+(cifra2*10)+(cifra1));cout<<endl<<"El numero resultante es:"<<NUMFINAL<<endl;

_getch();}