Salve a tutti, ho un problema che non riesco a risolvere da stamattina: devo contare il numero di sottosequenze strettamente decrescenti di una sequenza di N interi e gestire i casi in cui la sequenza comprenda meno di due elementi.
Con un ciclo while inserisco i valori nel vettore terminando con 0.
Come faccio a contare queste maledette sottosequenze?![]()
Grazie in anticipo.codice:#include <stdio.h> #define N 100 int main(void) { int valore; int v[N]; int i; int count=0; //conta le sottosequenze int len=0; // lungh. vettore i=0; printf("Inserisci una sequenza di interi terminata da 0:\n"); scanf("%d", &valore); while(valore!=0) { v[i++] = valore; scanf("%d", &valore); } len=i-1; //escludo lo zero while(i<=len) //scandisco il vettore fino alla fine(escluso lo 0) { while(v[i]>v[i+1]){ //se il primo elemento è magg del secondo i++; // vai al successivo } if(v[i]<v[i+1]) { count++; i++; } } printf("Le sottosequenze decrescenti sono %d.\n\n", count); return 0; }

Rispondi quotando