Wir nehmen das Integer-Array Arr[] als Eingabe. Ziel ist es, mithilfe einer rekursiven Methode die größten und kleinsten Elemente in einem Array zu finden.
Da wir Rekursion verwenden, durchlaufen wir das gesamte Array, bis wir Länge=1 erreichen und geben dann A[0] zurück, was den Basisfall bildet. Andernfalls wird das aktuelle Element mit dem aktuellen Minimal- oder Maximalwert verglichen und sein Wert für nachfolgende Elemente rekursiv aktualisiert.
Eingabe − Arr= {12,67,99,76,32};
Ausgabe − Maximalwert im Array: 99
Erläuterung − Unter allen Elementen ist 99 der größte Wert.
Eingabe − Arr= {1,0,-99,9,3};
Ausgabe − Mindestwert im Array: -99
Erläuterung − Unter allen Elementen ist -99 der Ort Mindestwert.
Das Array Arr[] wird als Eingabe verwendet.
Die Funktion recforMin(int arr[], int len) akzeptiert ein Eingabearray und seine Länge und gibt mittels Rekursion den Mindestwert im Array zurück.
Erhalten Sie das Minimum der Ganzzahlvariablen.
Wenn die aktuelle Indexlänge 1 ist, setzen Sie Minimum=arr[0] und geben Sie Minimum zurück.
Andernfalls setzen Sie Minimum = arr[len] oder den Mindestwert von recforMin(arr,len-1) und geben Sie ihn zurück.
Endlich wird das kleinste Element zurückgegeben.
Drucken Sie das Ergebnis in der Hauptfunktion aus.
Nimmt das Array Arr[] als Eingabe.
Die Funktion recforMax(int arr[], int len) akzeptiert ein Eingabearray und seine Länge und gibt mittels Rekursion den Maximalwert im Array zurück.
Nehmen Sie das Maximum der Ganzzahlvariablen.
Wenn die aktuelle Indexlänge 1 ist, setzen Sie Maximum=arr[0] und geben Sie Maximum zurück.
Andernfalls setzen Sie „maximum = arr[len]“ oder den Maximalwert von „recforMax(arr,len-1)“ und geben Sie ihn zurück.
Das größte Element wird am Ende zurückgegeben.
Drucken Sie das Ergebnis in der Hauptfunktion aus.
#include <iostream> using namespace std; int recforMin(int arr[], int len){ int minimum; if (len == 1){ minimum=arr[0]; return minimum; } else{ return minimum=arr[len]<recforMin(arr,len-1)?arr[len]:recforMin(arr,len-1); } } int main(){ int Arr[] = {-89,98,76,32,21,35,100}; int length = sizeof(Arr)/sizeof(Arr[0]); cout <<"Minimum in the array :"<<recforMin(Arr, length); return 0; }
Wenn wir den obigen Code ausführen, wird die folgende Ausgabe generiert:
Minimum in the array :-89
#include <iostream> using namespace std; int recforMax(int arr[], int len){ int maximum; if (len == 1){ maximum=arr[0]; return maximum; } else{ return maximum=arr[len]>recforMax(arr,len-1)?arr[len]:recforMax(arr,len-1); } } int main(){ int Arr[] = {-89,98,76,32,21,35,100}; int length = sizeof(Arr)/sizeof(Arr[0]); cout <<"Maximum in the array :"<<recforMax(Arr, length); return 0; }
Wenn wir Wenn Sie den obigen Code ausführen, wird die folgende Ausgabe generiert:
Maximum in the array :-100
Das obige ist der detaillierte Inhalt vonRekursives Programm zum Ermitteln minimaler und maximaler Elemente eines Arrays in C++. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!