diff options
author | Santo Cariotti <dcariotti24@gmail.com> | 2020-01-26 23:05:55 +0100 |
---|---|---|
committer | Santo Cariotti <dcariotti24@gmail.com> | 2020-01-26 23:05:55 +0100 |
commit | 499570e1a364c6fa0eb38738a39aae22cdb2290f (patch) | |
tree | 548cd201a08651c47f6211d65bcaafb32d65bdf8 /I_anno/Programmazione_1 | |
parent | 8ecf6bb46c4915af23fdbdb3032bf1255b2d0617 (diff) |
Ex 1 6/12/18
Scrivere un metodo che prenda in input un parametro formale matrice A di interi di dimensioni n × n ed un double w, e restituisca un valore booleano true se esiste almeno una colonna della matrice A per cui il rapporto tra la somma degli elementi della colonna stessa e la somma degli elementi della diagonale principale di A sia maggiore di w.
Diffstat (limited to 'I_anno/Programmazione_1')
-rw-r--r-- | I_anno/Programmazione_1/ex1_06_12_18.cc | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/I_anno/Programmazione_1/ex1_06_12_18.cc b/I_anno/Programmazione_1/ex1_06_12_18.cc new file mode 100644 index 0000000..b16748f --- /dev/null +++ b/I_anno/Programmazione_1/ex1_06_12_18.cc @@ -0,0 +1,35 @@ +#include<iostream> + +using namespace std; + +template<int N> +bool func(int (&A)[N][N], double w) { + int sumDiagonale{}; + for(int i = 0; i < N; ++i) sumDiagonale+=A[i][i]; + + for(int i = 0; i < N; ++i) { + int sumCol{}; + for(int j = 0; j < N; ++j) { + sumCol+=A[j][i]; + } + + if(static_cast<double>(sumCol/sumDiagonale) > w) + return true; + } + + + return false; +} + +int main() { + int A[4][4] = { + {1, 2, 3, 4}, + {1, 2, 3, 4}, + {1, 2, 3, 4}, + {1, 2, 3, 4}, + }; + + cout << func(A, 4.5); + + return 0; +} |