Stavo provando a svolgere questo esercizio:
Si scriva un programma in linguaggio C per poter analizzare una sequenza di numeri.
Dati N numeri interi letti da tastiera si vogliono calcolare e stampare su schermo diversi
risultati:
• quanti sono i numeri positivi, nulli e negativi
• quanti sono i numeri pari e dispari
Ecco, trovo alcune difficolta' sulla parte di input dei numeri. Io ho scritto il codice in questo modo:
- Codice:
include <iostream>
using namespace std;
int main(void){
int totale;
int n;
int positivo,negativo,nullo;
int pari,dispari;
cout<<"Quanti numeri saranno inseriti? ";
cin>>totale;
positivo=0; negativo=0; nullo=0;
pari=0; dispari=0;
n=0;
while (n < totale){
cout<<"Inserisci un numero:";
cin>>n;
if (n==0){
nullo=nullo+1;
}else{
if (n>0){
positivo=positivo+1;
}else{
negativo=negativo+1;
}
}
if(n%2==0){
pari=pari+1;
}else{
dispari=dispari+1;
}
}
(ho tralasciato parte scrittura). Ecco, il codice funziona per quanto riguarda i vari contatori pero' c'è il problema che quando inserisco un numero piu grande del totale dichiarato inizialmente il ciclo si ferma... secondo voi, in base alla traccia è accettabile? O, in caso, come si potrebbe modificare il codice?
Grazie tante!!!!