27/08/2020, 18:46
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.
#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);
}
30/08/2020, 11:23
31/08/2020, 09:17
#include <stdio.h>
void
rec( )
{
int n;
if ( 1 != scanf( "%d", &n ) )
return; // error in reading the number
if ( n == -1 )
return;
rec( );
printf( "%d ", n );
return;
}
int
main( void )
{
rec( );
}
31/08/2020, 12:58
Skuola.net News è una testata giornalistica iscritta al Registro degli Operatori della Comunicazione.
Registrazione: n° 20792 del 23/12/2010.
©2000—
Skuola Network s.r.l. Tutti i diritti riservati. — P.I. 10404470014.
Powered by phpBB © phpBB Group - Privacy policy - Cookie privacy
phpBB Mobile / SEO by Artodia.