/* *** 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 argc, char *argv[])
{
int xc, xp;
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;
}