In relata' nel problema non specifica se intende strettamente crescente o no,resta il fatto che se faccio come dice simo comunque una stringa del tipo 2,2,2 me la da crescente,e una stringa del tipo 3 2 2 me la da in ordine sparso,per cui ho riscritto il codice cosi':
In questo modo mi stampa sequenza crescente anche se la sequenza e' 1,2,2 o decrescente se e' 3,2,2 e me la stampa in ordine sparso se inserisco 3 numeri uguali o se a=1.codice:#include<stdio.h> main() { int a,b,positivi,nulli,negativi,pari,dispari; int k,i; int vet[100]; positivi=nulli=negativi=pari=dispari=0; k=i=0; printf("Quanti numeri vuoi digitare? "); scanf("%d",&a); for(b=0;b<a;++b) { printf("Digita numero %d: ",b+1); scanf("%d",&vet[b]); if(vet[b]>0) ++positivi; else if(vet[b]<0) ++negativi; else ++nulli; if(vet[b]%2==0) ++pari; else ++dispari; } printf("Positivi: %d nulli: %d negativi: %d pari: %d dispari %d ",positivi, nulli, negativi,pari,dispari); for(b=0;b<(a-1);++b) { if(vet[b]<=vet[b+1]) ++k; if(vet[b]>=vet[b+1]) ++i; } if(k==(a-1)&&i!=(a-1)) printf("\nLa sequenza e' crescente"); else if(i==(a-1)&&k!=(a-1)) printf("\nLa sequenza e' decrescente"); else printf("\nLa sequenza e' in ordine sparso"); return 0; }
Credo sia tutto a posto,ho pure indentato![]()

Rispondi quotando