Salve, mnemonicamente mi sono fatto lo schema dello stack per questo esercizio, e non risco a capire perchè non funziona!!
Si tratta di verificare con una bool ricorsiva se un array è ordinato in ordine crescente.
codice:
#include <iostream>
#include <cstdlib>
using namespace std;
bool m(int, int);
bool verifica(int a[],int n)
{ if (n==1) return true;
if(a[n]>a[n-1])
return verifica(a,n--);
else return false;
}
int main()
{
int n=5;
int aa[]={4,5,6,7,8};
if(verifica(aa,n)) cout<<"si è ordinato "<<'\n';
return 0;
}
non ci sono errori ma mi va in crash!
l'idea mia è che se l'array ha dimensione 1 è ordianto, poi gli passo sempre lo stesso array, e verifico ogni volta se l'elemento successivo è maggiore del precedente.
Ovviamnte scalo n, fino alla via di guga