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:
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;
}
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.
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?