edutecnica

Esercizio 8        

Scrivi una funzione ricorsiva che esegua la ricerca del massimo tra gli elementi di un intervallo appartenente ad un vettore di trenta numeri interi positivi.

Per una questione di brevità indichiamo la funzione con la firma

int max(int i,int j, int T[],int m)

i:indice iniziale del range
j:indice finale del range
T[]:vettore di 30 interi
m:massimo tra i numeri trovati


#include<iostream>
#include<stdlib.h>
#include<time.h>
using namespace std;
const int n=30;

int max(int i,int j, int T[],int m){
   if(T[i]>m)m=T[i];
   if(i<j+1){
      i++;
      m=max(i,j,T,m);
   }
   return m;
}//max
main(){
   int i,T[n];
   srand(time(0));//gen.30 interi casuali
   for(i =0;i<n;i++)T[i]=1+rand()%99;
   for(i=0;i<n;i++)cout << " " << T[i];
cout<<endl<<max(9,19,T,0);
}//main