You are on page 1of 24

PROBLEMA 1

DIAGRAMA DE FLUJO
C++
//ALET MAY MEN
#include<iostream>
#include<cstdlib>
using namespace std;
void mayor(int num,int &may);
void menor(int num,int &men);
void ver(int may,int men);

int main() {
int i;
int may;
int men;
int n;
int num;
cout << "digite la cantidad de numeros a generar" << endl;
cin >> n;
may = 0;
men = 999;
cout << "numeros generados" << endl;
for (i=1;i<=n;i++) {
num = (100+rand()%999-99);
cout << i << ". " << num << endl;
mayor(num,may);
menor(num,men);
}
ver(may,men);
return 0;
}

void mayor(int num,int &may) {


if (num>may) {
may = num;
}
}

void menor(int num,int &men) {


if (num<men) {
men = num;
}
}
void ver(int may,int men) {
cout << "el valor maximo es " << may << endl;
cout << "el valor minimo es " << men << endl;
}

PROBLEMA 2
DIAGRAMA DE FLUJO
C++
//CONVERSION
#include<iostream>
#include<cmath>
using namespace std;
void tipo(float &n);
void grados(float &rad);
void radianes(int &grd,float &min,float &seg);

int main() {
int a;
float b;
float c;
float d;
float n1;
tipo(n1);
if (n1==1) {
radianes(a,b,c);
cout << "la conversion es igual a = grd " << a << " min " << b << " seg " << c
<< endl;
} else {
grados(d);
cout << "la conversion es igual a = " << d << " radianes" << endl;
}
return 0;
}

void tipo(float &n) {


do {
cout << "que tipo de conversion desea realizar" << endl;
cout << "digite 1 para rad.a grados" << endl;
cout << "digite 2 para grados a rad." << endl;
cin >> n;
} while (n<1 || n>2);
}

void grados(float &rad) {


int grd;
int min;
int seg;
do {
cout << "digite los grados, minutos y segundos" << endl;
cin >> grd >> min >> seg;
} while (grd<1 && min<1 && seg<1);
rad = grd+(min+seg/60)/60;
rad = rad*3.14/180;
}

void radianes(int &grd,float &min,float &seg) {


float rad;
int vu;
do {
cout << "digite los radianes" << endl;
cin >> rad;
} while (rad<1);
grd = rad*180/3.14;
min = int(grd/1);
min = grd-min;
min = min*60;
seg = int(min/1);
seg = min-seg;
grd = int(grd/1);
min = int(min/1);
seg = int(seg*60);
if (grd>360) {
cout << "grados totales = " << grd << endl;
vu = int(grd/360);
grd = grd%360;
cout << "numero de vueltas de 360 grados = " << vu << endl;
}
}

PROBLEMA 3
DIAGRAMA DE FLUJO
C++
//NUM X
#include<iostream>
#include<cmath>
using namespace std;
int lectura();
void suma(int n,int &sum);
void maymen(int n, int &may, int &men);
void ver(int sum,int may,int men);

int main() {
int may;
int men;
int n;
int sum;
n = lectura();
cout << "el numero digitado es " << n << endl;
suma(n,sum);
maymen(n,may,men);
ver(sum,may,men);
return 0;
}

int lectura() {
int a;
do {
cout << "digite un numero de entre 2 a 7 digitos" << endl;
cin >> a;
} while (a<10 || a>9999999);
return a;
}
void suma(int n,int &sum) {
sum = 0;
while (n>0) {
sum = sum+(n%10);
n = int(n/10);
}
}

void maymen(int n, int &may, int &men) {


int num;
may = 0;
men = 9;
while (n>0) {
num = n%10;
if (num>may) {
may = num;
}
if (num<men) {
men = num;
}
n = int(n/10);
}
}

void ver(int sum,int may,int men) {


cout << "la suma de los digitos es de = " << sum << endl;
cout << "el digito mayor es " << may << " el digito menor es " << men << endl;
}
PROBLEMA 4
DIAGRAMA DE FLUJO
C++
/NUM PARES
#include<iostream>
#include<cmath>
using namespace std;
void num1(int &n1, int &cont);
void num2(int &n2, int &cont2);
void num3(int &n3, int &cont3);
int main() {
int cont;
int cont2;
int cont3;
int n;
int n1;
int n2;
int n3;
int res;
num1(n1,cont);
num2(n2,cont2);
num3(n3,cont3);
cout << "numeros digitados" << endl;
cout << "1. " << n1 << endl;
cout << "2. " << n2 << endl;
cout << "3. " << n3 << endl;
if (cont>cont2) {
if (cont>cont3) {
n = n1;
res = cont;
} else {
n = n3;
res = cont3;
}
} else {
if (cont2>cont3) {
n = n2;
res = cont2;
} else {
n = n3;
res = cont3;
}
}
cout << "el numero con mas digitos pares es " << n << " con " << res << " digitos" <<
endl;
return 0;
}

void num1(int &n1, int &cont) {


int a;
int nu;
do {
cout << "digite el primer numero" << endl;
cin >> a;
} while (a<1);
n1 = a;
cont = 0;
while (a>0) {
nu = a%10;
if (nu%2==0) {
cont = cont+1;
}
a = int(a/10);
}
}

void num2(int &n2, int &cont2) {


int b;
int nu2;
do {
cout << "digite el segundo numero" << endl;
cin >> b;
} while (b<1);
n2 = b;
cont2 = 0;
while (b>0) {
nu2 = b%10;
if (nu2%2==0) {
cont2 = cont2+1;
}
b = int(b/10);
}
}

void num3(int &n3, int &cont3) {


int c;
int nu3;
do {
cout << "digite el tercer numero" << endl;
cin >> c;
} while (c<1);
n3 = c;
cont3 = 0;
while (c>0) {
nu3 = c%10;
if (nu3%2==0) {
cont3 = cont3+1;
}
c = int(c/10);
}
}
PROBLEMA 5
DIAGRAMA DE FLUJO
C++
//NUM PRIMOS
#include<iostream>
using namespace std;
void rango(int &a,int &b);
void determinar(int n1, float n2);
void ver(int prim,int n1);

int main() {
int n1;
int n2;
rango(n1,n2);
determinar(n1,n2);
return 0;
}

void rango(int &a,int &b) {


do {
cout << "defina el rango inicial y final" << endl;
cin >> a >> b;
} while (a<1 || b<1 || a==b);
}

void determinar(int n1, float n2) {


int cont;
int div;
int i;
int prim;
int u;
i = 1;
u = 1;
prim = 0;
for (i=n1;i<=n2;i++) {
cont = 0;
div = 1;
if (n1==1) {
cont = 2;
} else {
for (u=1;u<=n1;u++) {
if (n1%div==0) {
cont = cont+1;
}
div = div+1;
}
}
if (cont==2) {
prim = prim+1;
ver(prim,n1);
}
n1 = n1+1;
}
}

void ver(int prim,int n1) {


cout << prim << ". " << n1 << endl;
}

You might also like