Accedi

Serie non crescente

PROBLEMA

Leggere una serie di numeri interi passati dall’utente, fermandosi al primo numero che rende la serie non crescente e restituendo quanti numeri erano stati inseriti.


RAPPRESENTAZIONE TECNICO-ILLUSTRTIVA

Si richiede un numero da tastiera e se il conteggio è pari a 0 lo si associa a un numero base e si incrementa di 1 il conteggio, se invece il conteggio è diverso da 0, se il numero base è minore del numero inserito il numero di base diventa il numero inserito e si incrementa il conteggio di 1 altrimenti si mostra il conteggio e si assegna 0 al conteggio. Ripetere il tutto fin quando il conteggio non è 0.


TABELLA DATI

IDENTIFICATORE DESCRIZIONE
Numero_inserito Numero immesso di tipo intero variabile
Numera_base Numero precedente della sequenza di tipo intero variaible
i variabile conteggio di tipo intero variabile

 


DIAGRAMMA A BLOCCHI

Clicca qui per visualizzare il Diagramma a blocchi.


CODICE SORGENTE

#include //libreria
#include //libreria
int main(int argc, char *argv[]) { 
 int numero_inserito=0, numero_base=0, i=0; //dichiarazione variabilio
 printf("\1 Inserire una serie di numeri, il programma si fermer\240 al primo numero che interromper\240 la serie crescente"); //testo a video \1 server per una faccia felice, \240 server per la a accentata
 sleep(4); //attesa di 4 secondi
 do { //inizio ciclo do-while
  system("cls"); //cancellazione messaggi precedenti
  printf("inserire il %i\247 numero:", i+1); //testo a video \247 serve per il simbolo speciale
  scanf("%i", &numero_inserito); //in-put da tastiera
  if (i==0) //condizione
  {
   numero_base=numero_inserito; //assegnazione
   i++; //incremento di 1
  }
  else if (numero_base   {
   numero_base=numero_inserito; //assegnazione
   i++; //incremento di 1
  }
  else
  {
   system("cls"); //cancellazione messaggi precedenti
   printf("Numeri totali inseriti:%i\n", i); //messaggio a video
   i=0; //assegnazione
  }
 } while(i!=0); //fine ciclo do while rig.10
 system("PAUSE"); //premi un tasto per continuare
 return 0; //tutto OK
}