diff options
author | Santo Cariotti <dcariotti24@gmail.com> | 2020-01-26 16:49:52 +0100 |
---|---|---|
committer | Santo Cariotti <dcariotti24@gmail.com> | 2020-01-26 16:49:52 +0100 |
commit | 8ae615f4456f58d6c476f8618bf2e2d416d2c3e0 (patch) | |
tree | 8f5a9170f2feaa78daaaedf347d841f1f5354cd0 | |
parent | 8d279316754faa6f4d9efe31cd995631c6a18526 (diff) |
ex 1 18/2/19
Scrivere un metodo che prenda in input una matrice A di numeri interi e due double w e v, e restituisca il valore booleano true se esiste almeno una colonna di A in cui la media dei suoi elementi `e compresa tra w e v. NB: Si assuma che w ≤ v.
-rw-r--r-- | I_anno/Programmazione_1/ex1_18_02_19.cc | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/I_anno/Programmazione_1/ex1_18_02_19.cc b/I_anno/Programmazione_1/ex1_18_02_19.cc new file mode 100644 index 0000000..a1bfc91 --- /dev/null +++ b/I_anno/Programmazione_1/ex1_18_02_19.cc @@ -0,0 +1,33 @@ +#include<iostream> + +using namespace std; + +template<int N, int M> +bool func(int (&A)[N][M], double w, double v) { + if(w > v) return false; + + for(int i = 0; i < M; ++i) { + double sum{}; + for(int j = 0; j < N; ++j) { + sum+=A[j][i]; + } + + double media = sum / static_cast<double>(N); + + if(media >= w && media <= v) return true; + } + + return false; +} + +int main() { + int M[3][4] = { + {1, 2, 3, 4}, + {1, 2, 3, 5,}, + {1, 2, 3, 6}, + }; + + cout << func(M, 0.1, 0.2); + + return 0; +} |