summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSanto Cariotti <dcariotti24@gmail.com>2020-01-26 16:49:52 +0100
committerSanto Cariotti <dcariotti24@gmail.com>2020-01-26 16:49:52 +0100
commit8ae615f4456f58d6c476f8618bf2e2d416d2c3e0 (patch)
tree8f5a9170f2feaa78daaaedf347d841f1f5354cd0
parent8d279316754faa6f4d9efe31cd995631c6a18526 (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.cc33
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;
+}