In questa lezione affronteremo un algoritmo per contare i numeri positivi e negativi in C, utilizzando il ciclo for.
L’algoritmo è molto simile ai due esercizi precedenti, proposti in questo articolo: primi esercizi con il for e anche in questo: numeri pari e dispari.
Il numero 0 non è da considerare positivo e neanche negativo, quindi dobbiamo escluderlo dal conteggio.
Inserire 20 numeri in input, contare separatamente quanti numeri positivi e negativi sono stati inseriti.
Innanzitutto occorre inizializzare a zero le due variabili per il conteggio: contap=0 e contan=0.
Dopo dobbiamo chiedere di inserire un numero in input e lo memorizziamo nella variabile n.
Poi verifichiamo se il numero appena inserito in input è positivo:
se vero incrementiamo la variabile contap;
altrimenti se falso dobbiamo verificare che il numero non sia nullo, prima di incrementare la variabile contan.
quindi inseriamo un altro if che pone la condizione: n<0?
Anche qui abbiamo utilizzato l’operatore di incremento contap++ che equivale a scrivere nella forma classica conta=contap+1 oppure conta+=1. Analogamente per contan++.
Questo procedimento lo iteriamo 20 volte, cioè finché il test diventerà falso.
Infine, con l’istruzione printf, visualizziamo il conteggio dei numeri positivi e quello dei numeri negativi.
Ecco dunque il listato completo per l’algoritmo che conta i numeri positivi e negativi in C:
#include <stdio.h>
main()
{
int n, i;
int contap=0, contan=0;
for(i=0;i<20;i++)
{
printf("inserisci il %d numero: ", i+1);
scanf("%d", &n);
if(n>0)
contap+=1;
else if(n<0)
contan+=1;
}
printf("I numeri positivi sono: %d - I numeri negativi sono: %d\n", contap, contan);
system("PAUSE");
}
Chiaramente questo è una possibile risoluzione all’algoritmo per il conteggio dei numeri positivi e negativi in C. Infatti, poteva anche essere realizzato con il ciclo while, ma in questi casi si preferisce utilizzare il for. Provate pure a farlo e a lasciare un commento nella sezione dedicata, ne discuteremo assieme.
Alcuni link utili
Allocazione dinamica della memoria con malloc
Esercitazione sulle struct in C
Realizzare un menù di scelta in C
Come sommare gli elementi della cornice esterna