Contare i numeri pari e dispari contenuti in un array o vettore in C
In questa pagina vedremo come creare un programma in C in grado di contare il numero di numeri pari e di numeri dispari contenuti all'interno di un array, o vettore.
Per poter procedere abbiamo innanzitutto bisogno di un array contenente una collezione di numeri. Per far ciò, abbiamo due possibilità:
- possiamo definire, a priori, un array all'interno del programma e inizializzarlo con dei numeri durante la dichiarazione
- oppure far riempire l'array da un utente usando la tastiera oppure generando numeri casuali
Nota: al termine della spiegazione verranno mostrati entrambe le possibilità.
Definito l'array, possiamo proseguire con la definizione del resto del codice. In particolare, per contare i numeri pari e dispari contenuti all'interno del array, dobbiamo scorrere l'interno array e verificare se ciascun valore è pari o dispari.
Per scorrere l'array facciamo uso di un ciclo for, chiaramente il programma può anche essere scritto in maniera analoga usando i cicli while o do while. L'importante è che ad ogni iterazione del ciclo venga verificato se il numero, che si trova nella posizione indicata dal numero di iterazione, è un numero pari o dispari. Per verificare tale caratteristica usiamo un'istruzione if per determinare se il numero diviso da due da resto zero, nello specifico questo viene ottenuto usando l'operatore di divisione con modulo %, effettuando un controllo del tipo num[i]%2==0.
In questo modo possiamo contare i numeri pari e dispari contenuti nell'array, in particolare, se il numero risulta essere pari, allora incrementiamo la variabile creata per tenere conto del numero di valori pari, mentre se l'istruzione if non è soddisfatta, incrementiamo la variabile contenente il numero di valori dispari.
Al termine dell'esecuzione del ciclo, nelle due variabili "pari" e "dispari" saranno immagazzinati rispettivamente il numero di valori pari e di valori dispari contenuti all'interno dell'array specificato. A questo punto non resta che stampare a schermo i due valori ottenuti.
Conteggio numeri pari e dispari con array definito a priori
Di seguito viene riportato il codice del programma usando un array già predefinito.
#include <stdio.h>
#define DIM 10
int main(){
int num[DIM] = {2, 6, 7, 3, 8, 9, 3, 0, 5, 1};
int pari, dispari;
pari = 0;
dispari = 0;
for(int i=0; i<DIM; i++){
if(num[i] % 2 == 0)
pari++;
else
dispari++;
}
printf("Nell'array ci sono: \n");
printf("- %d numeri pari\n", pari);
printf("- %d numeri dispari\n", dispari);
return 0;
}
Nell'array ci sono:
- 4 numeri pari
- 6 numeri dispari
Conteggio numeri pari e dispari con array definito da utente
Mentre di seguito viene riportato il codice del programma in C che chiede all'utente di inserire i valori da tastiera.
#include <stdio.h>
#define DIM 10
int main(){
int num[DIM];
int pari, dispari;
pari = 0;
dispari = 0;
for(int i=0; i<DIM; i++){
printf("Inserisci numero: ");
scanf("%d", &num[i]);
}
for(int i=0; i<DIM; i++){
if(num[i] % 2 == 0)
pari++;
else
dispari++;
}
printf("Nell'array ci sono: \n");
printf("- %d numeri pari\n", pari);
printf("- %d numeri dispari\n", dispari);
return 0;
}
Indice pagine linguaggio C: