I 100 libri da non perdere

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

Indice argomenti linguaggio C

La funzione fopen

La funzione fclose

Funzione fprintf

Funzione fscanf

Allocazione dinamica della memoria con malloc

Strutture in C

Typedef struct in C

Esercitazione sulle struct in C

Realizzare un menù di scelta in C

Strutture complesse in C

Come sommare gli elementi della cornice esterna

Come sommare due matrici

Matrice trasposta

Prodotto tra matrici

Ricerca elementi in una matrice

Tavola pitagorica in C

Array multidimensionali

Quick sort in C

Selection sort in C

Merge sort in C

Insertion Sort in C