Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*Scrivere una funzione ricorsiva che decida se una porzione di
- array di interi `e ordinata*/
- int array_ordinato(int arr[], int inizio, int fine){
- /*questa funzione prende come parametri l'array, l'indice di partenza, e l'indice di arrivo.
- per ogni elemento quello che fa, e andare a vedere se l'elemento esaminato, cioe l'elemento in posizione
- inizio, e' piu grande di quello che sta dopo, se cio si verifica, vuol dire che abbiamo un elemento
- piu grande che precede un elemento piu piccolo, e quindi il vettore non e' ordinato e possiamo dare la
- risposta, se invece cio non si verifica, rifai lo stesso test per l'elemento successivo.
- il nostro modo di affrontare il problema e' stato quello di immaginare che siano ordinati, e poi andare
- alle ricerca del contro esempio. il caso base e' dato dal fatto che inizio ha raggiunto fine, cio vuol
- dire che il controllo e' arrivato fino alla fine, e quindi il vettore e' ordinato*/
- if(inizio==fine)
- return 1;
- else if (arr[inizio]>arr[inizio+1])
- return 0;
- else
- array_ordinato(arr,inizio+1,fine);
- }
Advertisement
Add Comment
Please, Sign In to add comment