libri-javascript-python

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

Corso linguaggio C

Indice argomenti linguaggio C

Funzione fscanf

Allocazione dinamica della memoria con malloc

Esercitazione sulle struct in C

Realizzare un menù di scelta in C

Strutture complesse in C

Come sommare gli elementi della cornice esterna

Matrice trasposta

Prodotto tra matrici

Ricerca elementi in una matrice

Tavola pitagorica in C

Array multidimensionali

Quick sort in C

Insertion Sort in C