josecarlosgutierrez2002@gmail.com
unknown
c_cpp
4 years ago
5.9 kB
8
Indexable
/* Pregunta No 6: (50%) 1. Declare el Vector1 de tipo entero con un tamaño de 100. Pida por pantalla el tamaño real que usará del Vector1. 2. Cargue el Vector1 con números enteros positivos, use el siguiente ejemplo de números: {123, 456, 789, 641, 972}, este tiene un tamaño de cinco (5) elementos. 3. Almacene en una variable global el promedio del Vector1. 4. Almacene en un Vector2, todos los elementos del Vector1, siempre y cuando esos elementos sean mayores al promedio del Vector1. 5. Usando el Vector2, de cada uno de sus elementos, separa los dígitos, y coloque los dígitos pares en el VectorPar, y los dígitos impares en el VectorImpar. 6. Usando el Vector2, de cada uno de sus elementos, separa los dígitos, y coloque solo los números primos en el vectorPrimos, y a los que no son primeros, calcule de cada elemento su factorial y colóquelo en el vectorFactorial. 7. Muestre por pantalla la siguiente información: a. Vector1={123, 456, 789, 641, 972} b. El Promedio del Vector1 es: 596 c. El Vector2 tiene los siguientes elementos mayores al promedio: {789, 641, 972} d. El VectorPar tiene los siguientes elementos: {8, 4, 6, 2} e. El VectorImpar tiene los siguientes elementos: {9, 7, 1} */ #include <iostream> using namespace std; void leerVector(int vector[], int n, int &suma); void pasarDatos(int vector[], int vector2[], int n, int &tama2); void pasarParesImpares(int vector[], int n, int vectorpares[], int &pares, int vectorimpares[], int &impares); void pasarPrimos(int vector[], int n, int vectorprimos[], int &primos, int vectorfactorial[], int &factoriales); float factorial(int numero); void mostrarVector(int vector[], int n); void eliminarDuplicados(int vector[], int &n); float promedio; //////////////////////////////////////////////////////////////////////// int main() { int vector1[100], n, suma = 0; int vector2[100], tama2 = 0; int vectorpar[100], vectorimpar[100]; int pares = 0, impares = 0; int vectorprimos[100], primos = 0; int vectorFactorial[100], factoriales = 0; cout << "Digite la cantidad de elementos del vector: "; cin >> n; leerVector(vector1, n, suma); promedio = suma / n; pasarDatos(vector1, vector2, n, tama2); pasarParesImpares(vector2, tama2, vectorpar, pares, vectorimpar, impares); pasarPrimos(vector2, tama2, vectorprimos, primos, vectorFactorial, factoriales); cout << "\nVector 1: "; mostrarVector(vector1, n); cout << "\nEl promedio del vector es: " << promedio << endl; cout << "\nVector 2: "; mostrarVector(vector2, tama2); cout << "\nEl vector par: "; mostrarVector(vectorpar, pares); cout << "\nEl vector impar: "; mostrarVector(vectorimpar, impares); cout << "\nEl vector primos: "; mostrarVector(vectorprimos, primos); cout << "\nEl vector factorial: "; mostrarVector(vectorFactorial, factoriales); return 0; } /////////////////////////////////////////////////////////////////////// void leerVector(int vector[], int n, int &suma) { for (int i = 0; i < n; i++) { cout << "Numero " << i + 1 << ": "; cin >> vector[i]; suma += vector[i]; } } void pasarDatos(int vector[], int vector2[], int n, int &tama2) { for (int i = 0; i < n; i++) { if (vector[i] > promedio) { vector2[tama2++] = vector[i]; } } } void pasarParesImpares(int vector[], int n, int vectorpares[], int &pares, int vectorimpares[], int &impares) { int numero, digito; for (int i = 0; i < n; i++) { numero = vector[i]; while (numero > 0) { digito = numero % 10; if (digito % 2 == 0) { vectorpares[pares++] = digito; } else { vectorimpares[impares++] = digito; } numero /= 10; } } eliminarDuplicados(vectorimpares, impares); eliminarDuplicados(vectorpares, impares); } void pasarPrimos(int vector[], int n, int vectorprimos[], int &primos, int vectorfactorial[], int &factoriales) { bool primo = true; int digito, numero; for (int i = 0; i < n; i++) { numero = vector[i]; while (numero > 0) { digito = numero % 10; for (int j = 2; j < digito && primo == true; j++) { primo = false; } if (primo) { vectorprimos[primos++] = digito; } else { vectorfactorial[factoriales++] = factorial(digito); } numero /= 10; primo = true; } } eliminarDuplicados(vectorprimos, primos); } float factorial(int numero) { int fac = 1; for (int i = 1; i <= numero; i++) { fac *= i; } return fac; } void mostrarVector(int vector[], int n) { cout << "["; for (int i = 0; i < n; i++) { if (i + 1 != n) { cout << vector[i] << ", "; } else { cout << vector[i] << "]" << endl; } } } void eliminarDuplicados(int vector[], int &n) { int cont = 0, aux = 0, cont2 = 0; int vector_temporal[100]; for (int i = 0; i < n; i++) { aux++; cont = 0; for (int j = 0; j < aux; j++) { if (vector[i] == vector[j]) { cont++; } } if (cont == 1) { vector_temporal[cont2++] = vector[i]; } } n = cont2; for (int i = 0; i < n; i++) { vector[i] = vector_temporal[i]; } }
Editor is loading...