Ho dei problemi con questo esercizio:(vi posto sotto il mio codice e il problema che ho)
Scrivere un programma C che acquisisce un array di 10 interi. Il programma individua e visualizza
tutte le sotto-sequenze di lunghezza massima (cioè non contenute in una sotto-sequenza più lunga) e
maggiore di 1 costituite da soli numeri pari. Per esempio se l’utente inserisce l’array:
1 2 4 3 2 6 6 7 8 1
il programma visualizzerà:
2 4
2 6 6
#include <stdio.h>
#define DIM 10
int main(){
int j;
int i;
int n[DIM];
for(i=0;i<DIM;i++){
scanf("%d", &n[i]);
}
for(i=0;i<DIM;i++){
for(j=1;j<DIM;j++){
if(n[i]<=n[j] && n[i]%2==0 && n[j]%2==0){
printf("%d ", n[i]);
i++;
}
}
printf("\n");
}
return 0;
}
in pratica quando vado ad inserire i numeri che ci sono nell'esempio dell'esercizio: 1 2 4 3 2 6 6 7 8 1
il programma mi stampa a video;
2 4
2 6 6
8
cosa non corretta perchè dovrebbe stamparmi solo:
2 4
2 6 6
ma non capisco dove sbaglio, il mio programma controlla ogni cella dell'array con quella a fianco e l'if se non vengono rispettate le condizioni non dovrebbe permettere di stampare pure l'otto.
consigli?