diff options
author | Santo Cariotti <dcariotti24@gmail.com> | 2019-11-08 10:04:32 +0100 |
---|---|---|
committer | Santo Cariotti <dcariotti24@gmail.com> | 2019-11-08 10:04:32 +0100 |
commit | 7cbae327d140f9c03e42fbcd79c346af334bc855 (patch) | |
tree | 1e711bfc0cc418112a1ebab41f2668e168e46b07 /I_anno/Programmazione_1/ex01.cc | |
parent | 214690e48c7b6429d858e94cb0e37f0036e56bc9 (diff) |
Ex 1
Scrivere un metodo che prenda in input un parametro formale array A di interi di dimensione k × n × n
ed un double w, e restituisca il valore di verit`a true se esiste un valore dell’indice relativo alla prima dimensione (k) tale che,
nella corrispondente matrice quadrata di dimensioni n × n, la media tra il valore minimo ed il valore massimo della diagonale
principale sia minore o uguale a w.
Diffstat (limited to 'I_anno/Programmazione_1/ex01.cc')
-rw-r--r-- | I_anno/Programmazione_1/ex01.cc | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/I_anno/Programmazione_1/ex01.cc b/I_anno/Programmazione_1/ex01.cc new file mode 100644 index 0000000..ef91698 --- /dev/null +++ b/I_anno/Programmazione_1/ex01.cc @@ -0,0 +1,41 @@ +#include <iostream> +#include <algorithm> +#include <vector> +#define K 2 +#define N 3 + +using namespace std; + +bool func(int a[K][N][N], int w) { + vector<int> list; + for(int i = 0; i < K; ++i) { + list.clear(); + for(int j = 0; j < N; ++j) + list.push_back(a[i][j][j]); + + auto mm = minmax_element(begin(list), end(list)); + float media = (static_cast<float>(*mm.first)+static_cast<float>(*mm.second))/2; + if(media <= w) + return true; + } + + return false; +} + +int main() { + int a[K][N][N] = { + { + {1, 2, 30}, + {1, 80, 3}, + {1, 2, 3}, + }, + { + {1, 2, 30}, + {1, 20, 3}, + {1, 2, 3}, + }}; + + cout << func(a, 5); + + return 0; +} |