diff options
author | Santo Cariotti <dcariotti24@gmail.com> | 2020-01-20 19:41:58 +0100 |
---|---|---|
committer | Santo Cariotti <dcariotti24@gmail.com> | 2020-01-20 19:41:58 +0100 |
commit | b4903739443bdfabc7ce425dde22d1323debb5c0 (patch) | |
tree | f7c80461bcbdf4f9975d819e0617d344adf4dc47 | |
parent | 39f1aa4cf7d8e1cd2ec89e736d57c1a9f67ca202 (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
-rw-r--r-- | I_anno/Programmazione_1/ex1_tutorato_14_01_20.cc | 27 |
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; +} |