summaryrefslogtreecommitdiff
path: root/I_anno/Programmazione_1/ex1_tutorato_14_01_20.cc
diff options
context:
space:
mode:
authorSanto Cariotti <dcariotti24@gmail.com>2020-01-20 19:41:58 +0100
committerSanto Cariotti <dcariotti24@gmail.com>2020-01-20 19:41:58 +0100
commitb4903739443bdfabc7ce425dde22d1323debb5c0 (patch)
treef7c80461bcbdf4f9975d819e0617d344adf4dc47 /I_anno/Programmazione_1/ex1_tutorato_14_01_20.cc
parent39f1aa4cf7d8e1cd2ec89e736d57c1a9f67ca202 (diff)
ex 1 14/01/20
Scrivere un metodo che prenda in input una matrice quadrata A di numeri interi ed un double w, e restituisca il valore booleano true se il rapporto tra il minimo ed il massimo valore della diagonale secondaria di A e minore o uguale a w
Diffstat (limited to 'I_anno/Programmazione_1/ex1_tutorato_14_01_20.cc')
-rw-r--r--I_anno/Programmazione_1/ex1_tutorato_14_01_20.cc27
1 files changed, 27 insertions, 0 deletions
diff --git a/I_anno/Programmazione_1/ex1_tutorato_14_01_20.cc b/I_anno/Programmazione_1/ex1_tutorato_14_01_20.cc
new file mode 100644
index 0000000..557b0ee
--- /dev/null
+++ b/I_anno/Programmazione_1/ex1_tutorato_14_01_20.cc
@@ -0,0 +1,27 @@
+#include<iostream>
+#include<algorithm>
+#include<vector>
+
+using namespace std;
+
+template<int N>
+bool func(int (&A)[N][N], double w) {
+ vector<int> list;
+ for(int i = 0, j = N-1; i < N; ++i, --j)
+ list.push_back(A[j][i]);
+
+ auto minmax = minmax_element(begin(list), end(list));
+ return (static_cast<double>(*minmax.first)/static_cast<double>(*minmax.second)) <= w;
+}
+
+int main() {
+ int A[3][3] = {
+ {1, 2, 3},
+ {1, 2, 3},
+ {1, 2, 3},
+ };
+
+ cout << func(A, 0.1);
+
+ return 0;
+}