Salve,ho iniziato a fare programmazione in C con l' universita'.
Un esercizio ha come scopo chiedere quanti numeri vuoi digitare,farti digitare tot numeri (scelti da te precedentemente),e poi dare come output quanti di questi numeri sono pari,dispari,positivi,negativi e nulli.Ma chiede anche,alla fine,di dire se la sequenza di numeri e' crescente,decrescente o in ordine sparso.
Io ho scritto cosi' il programma:
Il problema e' che non sapevo come fare per stabilire la condizione che il vettore vet[b] ha tutti gli argomenti in ordine crescente (o decrescente), allora ho usato le variabili i e k.Se per esempio digito 3 numeri a caso tipo 1,2,3 mi dice stampa "la sequenza e' crescente",ma se li stampo in ordine decrescente (es.:3,2,1) mi stampa che e' in ordine sparso.codice:#include<stdio.h> main() { int a,b,positivi,nulli,negativi,pari,dispari; int i,k; int vet[100]; positivi=nulli=negativi=pari=dispari=0; i=k=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;++b){ if(vet[b]<vet[b+1]) ++k;} for(b=0;b<a;++b){ if(vet[b]>vet[b+1]) ++i;} if(a==k) printf("La sequenza e' crescente"); else if(a==i) printf("La sequenza e' decrescente"); else printf("La sequenza e' in ordine sparso"); return 0; }
Non da nessuno errore ne warning,non so se ci sia un modo piu' "elegante" per andare a vedere se il vettore e' crescente o decrescente,senza usare le variabili i e k,ma non mi sono venute altre idee.
Avete qualche suggerimento?

Rispondi quotando