# Taller Semana 9

unknown
plain_text
2 years ago
4.8 kB
23
Indexable
Never
```//TALLER SEMANA 9
//EJERCICIO 1
#include <conio.h>
#include <iostream>

using namespace std;
using namespace System; //Vamos a utilizar para generar numeros aleatorios

void GenerarNumeros(int &n1,int &n2, int &n3, int &n4) {
Random x;
n1 = x.Next(1, 41); // [1,41>
do {
n2 = x.Next(1, 41);
} while (n2==n1);
do {
n3 = x.Next(1, 41);
} while (n3==n2 || n3==n1);
do {
n4 = x.Next(1, 41);
} while (n4==n3 || n4==n2 || n4==n1);
//Los 4 numeros serán distintos
}

void Mayor(int n1, int n2, int n3, int n4, int& mayor) {
mayor = n1;
if (n2 > mayor) mayor = n2;
if (n3 > mayor) mayor = n3;
if (n4 > mayor) mayor = n4;
}

void Menor(int n1, int n2, int n3, int n4, int& menor) {
menor = n1;
if (n2 < menor) menor = n2;
if (n3 < menor) menor = n3;
if (n4 < menor) menor = n4;
}

void Anterior_Mayor(int n1, int n2, int n3, int n4,int menor, int mayor, int &aux_mayor) {
//descartar el mayor y comparar el mayor del resto de numeros
aux_mayor = menor;
if (n1 > aux_mayor && n1 < mayor ) aux_mayor = n1;
if (n2 > aux_mayor && n2 < mayor ) aux_mayor = n2;
if (n3 > aux_mayor && n3 < mayor ) aux_mayor = n3;
if (n4 > aux_mayor && n4 < mayor ) aux_mayor = n4;
}

void GraficarLineas(int x, int y, int n) {
int aux_x;
for (int i = x; i > x - n; i--) {
Console::SetCursorPosition(i, y);
cout << "*";
aux_x = i;
}
Console::SetCursorPosition(aux_x-2, y);
cout << n;
cout << endl;
}

void Graficar(int n1, int n2, int n3, int n4) {
int x = 79, y = 2; //(x) aumenta hacia la derecha, (y) hacia abajo
GraficarLineas(x, y, n1);
GraficarLineas(x, y+1, n2);
GraficarLineas(x, y+2, n3);
GraficarLineas(x, y+3, n4);
}

int main() {
int num1, num2, num3, num4, mayor, menor, anterior_mayor;
GenerarNumeros(num1, num2, num3, num4);
cout << "Numero 1: " << num1<<endl;
cout << "Numero 2: " << num2<<endl;
cout << "Numero 3: " << num3<<endl;
cout << "Numero 4: " << num4<<endl;
Mayor(num1, num2, num3, num4, mayor);
cout << "El mayor de los 4 numeros es: " << mayor << endl;
Menor(num1, num2, num3, num4, menor);
cout << "El menor de los 4 numeros es: " << menor << endl;
Anterior_Mayor(num1, num2, num3, num4, menor, mayor, anterior_mayor);
cout << "El anterior al mayor es: " << anterior_mayor << endl;
//1=menor,2=seg_numero,3=anterior_mayor, 4 =mayor
int seg_numero;
if (num1 > menor && num1 < anterior_mayor) seg_numero = num1;
if (num2 > menor && num2 < anterior_mayor) seg_numero = num2;
if (num3 > menor && num3 < anterior_mayor) seg_numero = num3;
if (num4 > menor && num4 < anterior_mayor) seg_numero = num4;
Graficar(menor, seg_numero, anterior_mayor, mayor);

getch();
return 0;
}

//Ejercicio 2
#include <conio.h>
#include <iostream>

using namespace std;
using namespace System;

cout << "\t=============\n";
cout << "\t1) Determinar el factorial de un número\n";
cout << "\t2) Calcular el valor de ea\n";
cout << "\t3) Imprime rombo\n";
cout << "\t4) Fin\n";
}

int HallarFactorial(int n) {
int factorial = 1;
for (int i = 1; i <= n; i++) {
factorial = factorial * i;
}
return factorial;
}

void HallarEA(double &a,double&k, int &n) {
double sumatoria=0;
cout << "Digite el valor de a: ";
cin >> a;
cout << "Digite el valor de k: ";
cin >> k;
cout << "Digite el numero de elementos: ";
cin >> n;
for (int i = 0; i < n; i++) {
sumatoria = sumatoria + (pow(a, i) / HallarFactorial(i));
}
cout << "La sumatoria es: " << sumatoria << endl;
}

void ImprimirRombo(int n) {
//triangulo arriba
int k = 2 * n - 2;
for (int j = 0; j < n; j++) {
for (int i = 0; i < k; i++) {
cout << " ";
}
k -= 1;
for (int i = 0; i <= j; i++) {
cout << " *";
}
cout << endl;
}
//triangulo abajo
for (int j = n; j >=0; j--) {
for (int i = k; i >0; i--) {
cout << " ";
}
k += 1;
for (int i = j; i >=0; i--) {
cout << " *";
}
cout << endl;
}
}

int main() {
int tecla = 0;
int n, factorial;
double a, k;
while (tecla!=4) {
system("cls");
do {
cout << "\n\t Digite una opcion: ";
cin >> tecla;
cout << tecla;
} while (tecla<1 || tecla>4);
switch (tecla) {
case 1:
system("cls");
cout << "Hallando Factorial" << endl;
cout << "ingrese un numero para hallar el factorial: ";
cin >> n;
factorial =HallarFactorial(n);
cout << "El factorial de " << n << " es: " << factorial << endl;
break;
case 2:
system("cls");
cout << "Hallar EA" << endl;
HallarEA(a, k, n);
break;
case 3:
system("cls");
cout << "Entro a la funcion Imprimir Rombo" << endl;
cout << "Digite n: ";
cin >> n;
ImprimirRombo(n);
break;
}
getch();

}
return 0;
}
```