School-Coding-Cpp/sfusi/conta_numeri_pari_e_dispari...

86 lines
2.0 KiB
C++

/*
Nome: Mario
Cognome: Montanari
Classe: 3AIN
Data: 13/12/2024
Contare i numeri pari e quelli dispari di una Matrice.
*/
#include <iostream>
#include <array>
#include <ctime>
#include <cstdlib>
#include <iomanip>
#define RIGHE 4
#define COLONNE 4
#define MINIMO -9
#define MASSIMO 9
using namespace std;
void riempiMatrice(int matrice[RIGHE][COLONNE], int righe, int colonne);
void stampaMatrice(int matrice[RIGHE][COLONNE], int righe, int colonne);
int contaPari(int matrice[RIGHE][COLONNE], int righe, int colonne);
int contaDispari(int matrice[RIGHE][COLONNE], int righe, int colonne);
int main(void) {
int matrice[RIGHE][COLONNE];
int righe = RIGHE;
int colonne = COLONNE;
riempiMatrice(matrice, righe, colonne);
cout << "Matrice: " << endl;
stampaMatrice(matrice, righe, colonne);
cout << "I numeri pari sono: " << contaPari(matrice, righe, colonne) << endl;
cout << "I numeri dispari sono: " << contaDispari(matrice, righe, colonne) << endl;
return 0;
}
void riempiMatrice(int matrice[RIGHE][COLONNE], int righe, int colonne) {
srand(time(NULL));
for (int r = 0; r < righe; r++) {
for (int c = 0; c < colonne; c++) {
matrice[r][c] = rand() % (MASSIMO - MINIMO + 1) + MINIMO;
}
}
}
void stampaMatrice(int matrice[RIGHE][COLONNE], int righe, int colonne) {
for (int r = 0; r < righe; r++) {
cout << endl;
for (int c = 0; c < colonne; c++) {
cout << setw(5) << matrice[r][c];
}
cout << endl;
}
cout << endl << endl << endl;
}
int contaPari(int matrice[RIGHE][COLONNE], int righe, int colonne) {
int contatorePari = 0;
for (int r = 0; r < righe; r++) {
for (int c = 0; c < colonne; c++) {
if (matrice[r][c] % 2 == 0) {
contatorePari++;
}
}
}
return contatorePari;
}
int contaDispari(int matrice[RIGHE][COLONNE], int righe, int colonne) {
int contatoreDispari = 0;
for (int r = 0; r < righe; r++) {
for (int c = 0; c < colonne; c++) {
if (matrice[r][c] % 2 != 0) {
contatoreDispari++;
}
}
}
return contatoreDispari;
}