Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- #include <iostream>
- using namespace std;
- void print(int * vector, int len) {
- cout << "Stampa del vettore (print):" << endl;
- for (int count = 0; count < len; ++count) cout << vector[count] << '\t';
- cout << endl;
- }
- void print2(int * vector, int len) {
- cout << "Stampa del vettore (print2):" << endl;
- int * cursor = vector;
- while (len--) cout << *cursor++ << '\t';
- cout << endl;
- }
- float average(int * vector, int len) {
- // definizione di media aritmetica:
- // somma degli elementi del vettore
- float sum = 0; // accumulatore per la somma progressiva...
- for (int counter = 0; counter < len; ++counter)
- sum = sum + vector[counter];
- // divisione della somma per il numero di elementi
- return sum / len;
- }
- int min(int * vector, int len) {
- // restituire il valore più piccolo nel vettore
- // ragionamento...
- // devo scorrere il vettore alla ricerca del valore più basso
- // posso partire, considerando il primo elemento
- // come elemento candidato ad essere il minimo
- int candidate = vector[0];
- // poi confrontarlo con gli elementi restanti per capire se
- for (int counter = 1; counter < len; ++counter)
- // effettivamente è più piccolo: se non lo è il
- // candidato minimo sarà il nuovo valore
- if (candidate > vector[counter]) candidate = vector[counter];
- return candidate;
- }
- int max(int * vector, int len) {
- // restituisce il valore massimo nel vettore
- // ragionamento...
- // devo scorrere il vettore alla ricerca del valore più basso
- // posso partire, considerando il primo elemento
- // come elemento candidato ad essere il massimo
- int candidate = vector[0];
- // poi confrontarlo con gli elementi restanti per capire se
- for (int counter = 1; counter < len; ++counter)
- // effettivamente è più grande: se non lo è il
- // candidato massimo sarà il nuovo valore
- if (candidate < vector[counter]) candidate = vector[counter];
- return candidate;
- }
- int count_even(int * vector, int len) {
- // contare quanti numeri pari ci sono in un vettore
- int counter = 0;
- for (int index = 0; index < len; ++index)
- if (vector[index] % 2 == 0) ++counter;
- return counter;
- }
- int count_odd(int *vector, int len) {
- // i numeri dispari saranno dati
- // dalla lunghezza MENO
- // i numeri pari
- return len - count_even(vector, len);
- }
- bool is_prime(int number) {
- // controllare se un numero è primo
- // un numero è primo se non ha divisori
- // un metodo (non ottimizzato) può essere quello di
- // dividere il numero per tutti i numeri che lo precedono
- bool result = true;
- int div = 2;
- while (result && div < number) {
- if (number % div == 0) result = false;
- ++div;
- }
- return result;
- }
- int count_digits(int number) {
- // contare quante cifre ci sono in un numero
- int digits = 1;
- while (number > 10) {
- ++digits;
- number = number / 10;
- }
- return digits;
- }
- int main()
- {
- int a[] = { 12,432,3654,123,654,3567,468,1234,897 };
- int * v = a;
- print(v, 6);
- print2(v, 6);
- cout << "Media aritmetica del vettore: " << average(v, 6) << endl;
- cout << "Valore minimo nel vettore: " << min(v, 6) << endl;
- cout << "Valore massimo nel vettore: " << max(v, 6) << endl;
- cout << "Il vettore contiene " << count_even(v, 6) << " numeri pari" << endl;
- cout << "Il vettore contiene " << count_odd(v, 6) << " numeri dispari" << endl;
- if (is_prime(19))
- cout << "Il numero 19 e' un numero primo" << endl;
- if (!is_prime(24))
- cout << "Il numero 24 non e' un numero primo" << endl;
- cout << "Il numero 12345 ha " << count_digits(12345) << " cifre" << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement