Allora:
codice:
int algoritmo(int a[], int n);
int algoritmo_1(int trovati, int *a, int i, int n);
int algoritmo_2(int trovati, int *a, int i, int j, int n);
questi sono i prototipi delle funzioni ora:
la algoritmo viene chiamata da te e chiama algoritmo_1 inizializzando trovati e i a 0, algoritmo_1 richiama ricorsivamente se stessa finchè i < n, quando i == n ritorna trovati, ad ogni chiamata sostituisce trovati con trovati + la chiamata a algoritmo_2 e i con i+1;
algoritmo_2 viene chiamata con trovati e j inizializzati a 0 e richiama ricorsivamente se stessa finchè j < n, quando j == n ritorna trovati, ad ogni chiamata sostituisce trovati con trovati + 1 se la relazione fra i e j si verifica e j con j+1.
Ho scritto il codice e l'ho provato, è 16 righe con 3 di spazi e 3 di graffe (senza prototipi)...
Se hai problemi dimmi