Ciao a tutti, ho trovato un esercizio da sviluppare in C che richiedeva di sviluppare il seguente programmino:
parlando con il mio prof mi è stato detto che questo esercizio si può fare benissimo senza vettore e quindi ho pensato ad una soluzione simile:Un omino ha deciso di fare una escursione in montagna, e vuole percorrere il sentiero più faticoso. la lunghezza massima del sentiero è 100km e viene introdotta in input da tastiera l'altitudine(in metri) ogni 100m e per terminare l'input inserire -1. Il programma deve calcolare il percorso più faticoso, ovvero:
INPUT:
100 300 250 50 -1
OUTPUT
Il percorso più faticoso è di 250m
/*poiché c'è una discesa da 300 a 50-->300-50=250*/
INPUT:
150 300 400 500 200 350 500 600 800 650 -1
OUTPUT:
Il percorso più faticoso è di 600m
/*poiché c'è una salita da 200 a 800-->800-200=600*/
spero che il problema sia chiaro...cerco di spiegare meglio...codice:#include <stdio.h> #include <stdlib.h> #define N 1000+1 int main () { int n1, n2, h,i=2; int max1, max2, maxS, maxD, MAX; max1=max2=maxS=maxD=0; printf ("Inserire valore: "); scanf ("%d", &n1); printf ("Inserire valore: "); scanf ("%d", &n2); do { h = n2 - n1; if ( h > 0 ) { if ( max2 > maxD ) { maxD=max2; } max2=0; max1+=h; } else { if ( max1 > maxS ) { maxS=max1; } max1=0; max2+=abs(h); } n1=n2; printf ("Inserire valore: "); scanf ("%d", &n2); i++; }while ( n2 != -1 && i<N ); if ( max1 > maxS ) maxS=max1; if ( max2 > maxD ) maxD=max2; if ( maxD > maxS ) MAX=maxD; else MAX=maxS; printf ("Il percorso piu faticoso e %d\n", MAX); return 0; }
grazie...

Rispondi quotando