64 lines
2.9 KiB
Plaintext
64 lines
2.9 KiB
Plaintext
/*
|
|
Cognome, Nome: Montanari, Mario
|
|
|
|
PROGRAMMA CHE, DATO UN ARRAY CONTENENTE 10 VALORI GENERATI CASUALMENTE, CONTA LE OCCORRENZE DEGLI ELEMENTI PRESENTI ALL'INTERNO DELL'ARRAY.
|
|
*/
|
|
|
|
#include <iostream> // LIBRERIA NECESSARIA PER L'INPUT E L'OUTPUT STANDARD
|
|
#include <array> // LIBRERIA NECESSARIA PER LAVORARE CON GLI ARRAY
|
|
#include <cstdlib> // LIBRERIA NECESSARIA PER LAVORARE CON LA FUNZIONE 'rand'
|
|
#include <ctime> // LIBRERIA NECESSARIA PER LAVORARE CON LA FUNZIONE 'time'
|
|
|
|
#define CAPACITY 10 // DIMENSIONE MASSIMA DELL'ARRAY
|
|
#define SIZE 5 // NUMERO DI CELLE OCCUPATE NELL'ARRAY
|
|
#define MIN 1 // VALORE MINIMO PER I NUMERI GENERATI CASUALMENTE
|
|
#define MAX 5 // VALORE MASSIMO PER I NUMERI GENERATI CASUALMENTE
|
|
|
|
using namespace std;
|
|
|
|
void riempiArray(int arr[], int size); // PROTOTIPO DELLA FUNZIONE CHE RIEMPIE L'ARRAY INIZIALE CON NUMERI CASUALI
|
|
void stampaArray(int arr[], int size); // PROTOTIPO DELLA FUNZIONE CHE STAMPA GLI ELEMENTI PRESENTI NELL'ARRAY
|
|
void contaOccorrenzeElementi(int arr[], int size); // PROTOTIPO DELLA FUNZIONE CHE CONTA LE OCCORRENZE DEGLI ELEMENTI PRESENTI ALL'INTERNO DELL'ARRAY
|
|
|
|
int main(void) {
|
|
int arr[CAPACITY]; // DICHIARAZIONE DELL'ARRAY 'arr[]' CON CAPACITA' MASSIMA DI 10
|
|
int size = SIZE; // INIZIALIZZAZIONE DELLA VARIABILE 'size' CHE SPECIFICA IL NUMERO DI ELEMENTI PRESENTI NELL'ARRAY
|
|
|
|
riempiArray(arr, size); // CHIAMATA DELLA FUNZIONE CHE RIEMPIE L'ARRAY INIZIALE CON NUMERI CASUALI
|
|
|
|
cout << "Initial array: ";
|
|
stampaArray(arr, size); // CHIAMATA DELLA FUNZIONE CHE STAMPA GLI ELEMENTI PRESENTI NELL'ARRAY
|
|
|
|
contaOccorrenzeElementi(arr, size); // CHIAMATA DELLA FUNZIONE CHE CONTA LE OCCORRENZE DEGLI ELEMENTI PRESENTI ALL'INTERNO DELL'ARRAY
|
|
|
|
return 0; // TERMINA IL PROGRAMMA
|
|
}
|
|
|
|
// DICHIARAZIONE DELLA FUNZIONE CHE RIEMPIE L'ARRAY INIZIALE CON NUMERI CASUALI
|
|
void riempiArray(int arr[], int size) {
|
|
srand(time(NULL)); // INIZIALIZZA IL GENERATORE DI NUMERI CASUALI
|
|
for (int i = 0; i < size; i++) { // ISTRUZIONE CHE CICLA ATTRAVERSO TUTTE LE CELLE DELL'ARRAY
|
|
arr[i] = rand() % (MAX - MIN + 1) + MIN; // GENERA UN NUMERO CASUALE TRA 'MIN' E 'MAX' E LO ASSEGNA ALLA CELLA CORRENTE
|
|
}
|
|
}
|
|
|
|
// DICHIARAZIONE DELLA FUNZIONE CHE STAMPA GLI ELEMENTI PRESENTI NELL'ARRAY
|
|
void stampaArray(int arr[], int size) {
|
|
for (int i = 0; i < size; i++) { // ISTRUZIONE CHE CICLA ATTRAVERSO TUTTI GLI ELEMENTI PRESENTI NELL'ARRAY
|
|
cout << arr[i] << " "; // STAMPA OGNI ELEMENTO SEGUITO DA UNO SPAZIO
|
|
}
|
|
cout << endl; // AGGIUNGE UN A CAPO DOPO LA STAMPA DI TUTTI GLI ELEMENTI
|
|
}
|
|
|
|
// DICHIARAZIONE DELLA FUNZIONE CHE CONTA LE OCCORRENZE DEGLI ELEMENTI PRESENTI ALL'INTERNO DELL'ARRAY
|
|
void contaOccorrenzeElementi(int arr[], int size) {
|
|
for(int i = 0; i < size; i++) {
|
|
int count = 0;
|
|
for (int j = i; j < size; j++) {
|
|
if (arr[j] == arr[i]) {
|
|
count++;
|
|
}
|
|
}
|
|
cout << "Il valore " << arr[i] << " compare " << count << " volte." << endl;
|
|
}
|
|
} |