Requisito previo: declaración Switch en C/C++ , funciones en C/C++ , bucles en C y C++ , bucle do-while en C/C++ con ejemplos
Escriba un programa controlado por menú para realizar varias operaciones básicas en la array :
- Imprime todos los valores pares de la array .
- Imprime todos los valores impares en la array .
- Suma y promedio de elementos en la array .
- Encuentre el elemento máximo y mínimo en la array .
- Eliminar duplicados de la array .
Acercarse:
- Comprobar si un número es par o impar: Hay 2 formas de lograrlo:
- Al hacer Bitwise AND de 1 y ese dígito, si el resultado es 1, entonces el número es impar, de lo contrario, es par.
- Por su divisibilidad por 2. Se dice que un número es impar si no es divisible por 2, en caso contrario es par.
- Encuentre la suma y divida la suma por el número total de elementos: al iterar a través de toda la array y agregarla a una suma variable. Dividiendo la suma por el total no. de elementos para hallar la media.
- Encuentre el máximo y el mínimo en la array: Inicialice los valores de mínimo y máximo como mínimo y máximo de los dos primeros elementos respectivamente. A partir del 3, compare cada elemento con el máximo y el mínimo, y cambie el máximo y el mínimo en consecuencia. Si el elemento es más pequeño que el mínimo, cambie el mínimo. De lo contrario, si el elemento es mayor que el máximo, cambie el máximo. De lo contrario, ignore el elemento.
- Elimine los duplicados de la array: ordene la array utilizando la función sort() incorporada. Cree una array auxiliar temp[] para almacenar elementos únicos. Recorra la array de entrada y copie uno por uno los elementos únicos de arr[] a temp[]. Además, realice un seguimiento del recuento de elementos únicos. Sea esta cuenta j. Copie j elementos de temp[] a arr[] y devuelva j
- Imprima la array al revés: invierta una array o string
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ program for the above approach #include <bits/stdc++.h> using namespace std; // Function to display all the menu in // the current program void menu() { cout << "\n\t\tMENU :"; cout << "\nPress 1 to print even " << "valued elements\n"; cout << "Press 2 to print odd valued" << " elements\n"; cout << "Press 3 to calculate sum " << "and average of elements in " << "the array\n"; cout << "Press 4 to print maximum" << " and minimum element " "in the array\n"; cout << "Press 5 to remove the " << "duplicacy in array \n"; cout << "Press 6 to print array" << " in reverse\n"; cout << "Press 7 to exit\n"; } // Function to print even valued // elements in the array arr[] void even(int arr[], int len) { cout << "Even numbers in the " << "array are - "; for (int i = 0; i < len; i++) { if (arr[i] % 2 == 0) { cout << arr[i] << "\t"; } } } // Function to print odd valued // elements in the array arr[] void odd(int arr[], int len) { cout << "Odd numbers in the " << "array are - "; for (int i = 0; i < len; i++) { if (arr[i] % 2 != 0) { cout << arr[i] << "\t"; } } } // Function to print sum and the // average of elements in array void SumAverage(int arr[], int len) { int sum = 0; for (int i = 0; i < len; i++) { sum += arr[i]; } cout << "\n Sum =" << sum; cout << "\n Average =" << sum / len; } // Function to print maximum and // minimum elements in an array void MaxMin(int arr[], int len) { int max = arr[1], min = arr[0]; // Traverse the array for (int i = 0; i < len; i++) { // Update the maximum if (arr[i] > max) max = arr[i]; // Update the minimum if (arr[i] < min) min = arr[i]; } cout << "Maximum = " << max << "\t"; cout << "Minimum = " << min; } // Function to remove duplicate // elements in an array void RmDuplicacy(int arr[], int n) { if (n == 0 || n == 1) cout << "No Duplicates"; // sorting array using inbuilt // sort() function sort(arr, arr + n); int temp[n]; // Start traversing elements int j = 0; for (int i = 0; i < n - 1; i++) // If current element is not // the same as the next element // then store the current element if (arr[i] != arr[i + 1]) temp[j++] = arr[i]; // Store the last element as whether // it is unique or repeated, it hasn't // stored previously temp[j++] = arr[n - 1]; // Modify original array for (int i = 0; i < j; i++) arr[i] = temp[i]; // j is now the size of the array // without duplicates for (int i = 0; i < j; i++) { cout << arr[i] << " "; } } // Function to print array // in reverse order void Reverse(int arr[], int len) { cout << "\nArray in reverse" << " order:\n "; for (int i = len - 1; i >= 0; i--) { cout << arr[i] << "\t"; } } // Driver Code int main() { int arr[100], i, num, choice; printf("Enter the size of " "an array :\n"); cin >> num; printf("Enter the elements of " "the array :\n"); for (i = 0; i < num; i++) { cin >> arr[i]; } do { cout << "\n"; menu(); cout << "\nEnter your " << "choice:\n "; cin >> choice; switch (choice) { case 1: even(arr, num); break; case 2: odd(arr, num); break; case 3: SumAverage(arr, num); break; case 4: MaxMin(arr, num); break; case 5: RmDuplicacy(arr, num); break; case 6: Reverse(arr, num); break; case 7: exit(0); break; default: cout << "INVALID CHOICE :-("; } } while (choice != 7); return 0; }
Producción:
Publicación traducida automáticamente
Artículo escrito por jt9999709701 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA