Taller Semana 9

mail@pastecode.io avatar
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;

void menu() {
	cout << "\t MENU\n";
	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");
		menu();
		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;
}