Maison >développement back-end >C++ >Programme récursif pour trouver les éléments minimum et maximum d'un tableau en C++
Nous prenons le tableau d'entiers Arr[] comme entrée. Le but est de trouver les éléments les plus grands et les plus petits d’un tableau en utilisant une méthode récursive.
Puisque nous utilisons la récursion, nous allons parcourir l'ensemble du tableau jusqu'à ce que nous atteignions length=1, puis retourner A[0], qui constitue le cas de base. Sinon, l'élément actuel est comparé à la valeur minimale ou maximale actuelle et sa valeur est mise à jour de manière récursive pour les éléments suivants.
Input − Arr= {12,67,99,76,32};
Output − Valeur maximale dans le tableau : 99
Explication − Parmi tous les éléments, 99 est la plus grande valeur parmi eux.
Input − Arr= {1,0,-99,9,3};
Output − Valeur minimale dans le tableau : -99
Explication − Parmi tous les éléments, -99 est l'endroit où le valeur minimale.
Le tableau Arr[] est utilisé comme entrée.
La fonction recforMin(int arr[], int len) accepte un tableau d'entrée et sa longueur et renvoie la valeur minimale du tableau en utilisant la récursion.
Obtenez la variable entière minimum
Si l'index actuel len est 1, définissez minimum=arr[0] et renvoyez le minimum.
Sinon, définissez minimum = arr[len] ou la valeur minimale de recforMin(arr,len-1) et renvoyez-la.
Enfin le plus petit élément sera restitué.
Imprimez le résultat dans la fonction principale.
prend le tableau Arr[] en entrée.
La fonction recforMax(int arr[], int len) accepte un tableau d'entrée et sa longueur et renvoie la valeur maximale dans le tableau en utilisant la récursion.
Prenez le maximum de variable entière.
Si l'index actuel len est 1, définissez maximum=arr[0] et renvoyez maximum.
Sinon, définissez maximum = arr[len] ou la valeur maximale de recforMax(arr,len-1) et renvoyez-la.
Le plus gros élément sera restitué à la fin.
Imprimez le résultat dans la fonction principale.
#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; }
Si nous exécutons le code ci-dessus, la sortie suivante sera générée
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; }
Si nous exécutez le code ci-dessus, générera la sortie suivante
Maximum in the array :-100
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!