Accedi

Analizzare una sequenza di numeri con i vettori

PROBLEMA

Si scriva un programma per poter analizzare una sequenza di numeri. Dati N numeri interi letti da tastiera si vogliono calcolare e stampare su schermo diversi risultati: 


CODICE SORGENTE

#include <stdio.h> //libreria
#include <stdlib.h>
void banner (int numeri_da_inserire) { //funzione
 printf("-------------------------------\nAnalisi sequenza di %i numeri\n-------------------------------\n", numeri_da_inserire); //testo a video
} //fine funzione rig.11
int main(int argc, char *argv[]) { //inizio body del programma
 int numeri_da_inserire=0, i=0, numero=0, positivi=0, negativi=0, neutri=0, pari=0, dispari=0, numero_base=0, decrescente=0, crescente=0; //dichiarazione variabili
 printf("Inserire la quantita' di numeri da analizzare:"); //testo a video
 scanf("%i", &numeri_da_inserire); //input
 system("cls"); //pulire il terminale
 for (i=0; i<numeri_da_inserire; i++) { //ciclo for
  printf("Inserire il %i\370 numero:",i+1); //testo a video
  scanf("%i", &numero); //input
  if (numero>0) { //se è positivo
   positivi++;
  }
  else if (numero<0) { //se è negativo
   negativi++;
  }
  else { //se è neutro
   neutri++;
  }
  if(numero%2==0) { //se è pari
   pari++;
  }
  else { //se è dispari
   dispari++;
  }
  if (i==0) { //assegna il numero base uguale al primo numero
   numero_base=numero;
  }
  else if (numero_base<numero) { //se la sequenza è crescente
   crescente=1;
   numero_base=numero;
  }
  else if (numero_base>numero) { //se la sequenza è decrescente
   decrescente=1;
   numero_base=numero;
  }
  else if (numero_base==numero) { //se la sequenza non è nulla
   crescente=1;
   decrescente=1;
  }
 }
 system("cls"); //pulire il terminale
 banner(numeri_da_inserire); //richiamo funzione
 printf("Positivi: %i\nNegativi: %i\nNeutri: %i\nPari: %i\nDispari: %i\nLa sequenza e' ",positivi, negativi, neutri, pari, dispari); //testo a video
 if (decrescente==1 && crescente==0) { //se è decrescente
  printf("decrescente\n");
 }
 else if (crescente==1 && decrescente==0) { //se è crescente
  printf("crescente\n");
 }
 else {
  printf("ne decrescente ne crescente\n"); //se è nulla
 }
 system("PAUSE");
 return 0;
}