In questa lezione, esploreremo un algoritmo per contare i numeri positivi e negativi in C, facendo uso del ciclo for
. Questo algoritmo è simile a quelli affrontati in precedenza, come evidenziato negli esercizi sui numeri pari e dispari e sui primi esercizi con il ciclo for
. Tuttavia, è importante notare che il numero 0
non rientra né nei numeri positivi né nei numeri negativi e pertanto sarà escluso dal conteggio.
Algoritmo per il conteggio dei numeri positivi e negativi
L’algoritmo richiede di inserire 20 numeri in input e di conteggiare separatamente quanti di essi sono positivi e quanti sono negativi. Innanzitutto, inizializziamo a zero due variabili di conteggio: contap
per i numeri positivi e contan
per i numeri negativi. Successivamente, chiediamo all’utente di inserire un numero in input e lo memorizziamo nella variabile n
. Verifichiamo quindi se il numero inserito è positivo o negativo. Se è positivo, incrementiamo contap
; se è negativo, incrementiamo contan
. Questo procedimento viene ripetuto per 20 volte, ossia finché il ciclo for
è in esecuzione. Infine, utilizziamo l’istruzione printf
per visualizzare il conteggio dei numeri positivi e dei numeri negativi.
Ecco il codice completo per l’algoritmo per il conteggio dei numeri positivi e negativi in C:
#include <stdio.h>
int 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");
return 0;
}
Conclusioni
Questo è solo uno dei modi per risolvere l’algoritmo per il conteggio dei numeri positivi e negativi in C. Anche se avremmo potuto realizzarlo utilizzando un ciclo while
, ma nel caso specifico l’uso del ciclo for
è preferibile per la sua sintassi più compatta e leggibile. Essendo noto in anticipo il numero di iterazioni necessarie (20 volte), il ciclo for
offre un modo più chiaro per gestire l’inizializzazione, la condizione di iterazione e l’aggiornamento del contatore in una sola riga di codice. Ciò rende il codice più conciso e facile da comprendere rispetto al ciclo while
, che richiederebbe più righe di codice per lo stesso scopo. Pertanto, nel contesto specifico del problema di contare numeri positivi e negativi, il ciclo for
è la scelta più breve e efficace.
Vi invito a provare e sperimentare con diverse soluzioni e ad esplorare ulteriori possibilità di applicazione del ciclo for
. Non esitate a condividere le vostre osservazioni e domande nella sezione dei commenti, dove potremo discuterne insieme.
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
Ricerca elementi in una matrice