Scrivere una procedura ricorsiva che legga (senza memorizzarla) una sequenza di interi non negativi a0, a1, ..., ai, ..., terminata da −1 e che stampi, in ordine inverso, solo gli ai che sono preceduti da ai−1 tali che ai−1 < ai, escludendo −1. L’ultimo elemento da stampare il primo della sequenza. Se per esempio la sequenza in ingresso fosse: 3 2 8 7 −1 la stampa dovrebbe essere 8 3.
io ho provato così ma non funziona
- Codice:
#include<stdio.h>
int ric(int n) {
if(n>0) {
scanf("%d", &n);
if(ric(n-1)<n) {
printf("%d ", n);
}
ric(n);
}
}
int main() {
int n;
ric(n);
}
Grazie in anticipo