summaryrefslogtreecommitdiff
path: root/I_anno/Programmazione_1
diff options
context:
space:
mode:
authorSanto Cariotti <dcariotti24@gmail.com>2020-01-26 23:05:55 +0100
committerSanto Cariotti <dcariotti24@gmail.com>2020-01-26 23:05:55 +0100
commit499570e1a364c6fa0eb38738a39aae22cdb2290f (patch)
tree548cd201a08651c47f6211d65bcaafb32d65bdf8 /I_anno/Programmazione_1
parent8ecf6bb46c4915af23fdbdb3032bf1255b2d0617 (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.cc35
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;
+}