/* *** inversioni di segno
 * conta le inversioni di segno di una sequenza di numeri da input
 * memoria: xc numero corrente, xp numero precedente, i contatore
 *
 * rileva l'inversione quando il prodotto di xp e xc e' minore di 0
 * algoritmo
 * - inizializza contatore a 0
 * - prende primo numero in xp
 * - ripeti finche' necessario
 *    - prendi un numero in xc
 *    - se xp*xc < 0 incrementa contatore
 *    - salva xc su xp
 * visualizza contatore
 */


#include <stdio.h>

int main(int argcchar *argv[])
{
   int xcxp
   int i;
   char risp;
   i=0;
   printf("Inserisci un valore\n");
fflush(stdout);

   scanf(" %d", &xp);
   do{
      printf("Inserisci un altro valore\n");
fflush(stdout);

      scanf(" %d", &xc);
      if(xc*xp<0// inversione: incrementa contatore
                 i++;
      xp=xc;      // il numero corrente diventa precedente
      do { // vuole obbligatoriamente risposta s o n, maiuscola o minuscola
        printf("Vuoi continuare? (s/n) \n");
fflush(stdout);

        scanf(" %c", &risp);
      } while (risp != 's' && risp != 'S' && risp != 'n' && risp != 'N');
   } while (risp=='s' || risp=='S');
   printf("Il segno e' cambiato %d volte \n"i);
   system("PAUSE");     
   return 0;
}