summaryrefslogtreecommitdiff
path: root/I_anno/Programmazione_1
diff options
context:
space:
mode:
authorSanto Cariotti <dcariotti24@gmail.com>2019-12-14 17:10:17 +0100
committerSanto Cariotti <dcariotti24@gmail.com>2019-12-14 17:10:17 +0100
commitdbf139e0ac0c7ff385aa3611b17a0b81ba9e316f (patch)
tree949e6be425d21eda1ba999a557302bcec4d21df2 /I_anno/Programmazione_1
parent706cf801b48375d10912aa67e7c89b9e57954f87 (diff)
Ex 2
Scrivere un metodo che prenda in input una matrice quadrata di puntatori a stringhe Q ed una stringa s. Il metodo restituisca il valore booleano true se e solo se il numero di stringhe che contengono s, presenti nella diagonale principale di Q, `e maggiore del numero di stringhe che contengono s presenti nella diagonale secondaria di Q.
Diffstat (limited to 'I_anno/Programmazione_1')
-rw-r--r--I_anno/Programmazione_1/ex2_04_12_19.cc39
1 files changed, 39 insertions, 0 deletions
diff --git a/I_anno/Programmazione_1/ex2_04_12_19.cc b/I_anno/Programmazione_1/ex2_04_12_19.cc
new file mode 100644
index 0000000..66b2895
--- /dev/null
+++ b/I_anno/Programmazione_1/ex2_04_12_19.cc
@@ -0,0 +1,39 @@
+#include <iostream>
+#include <string>
+
+using namespace std;
+
+template<int N>
+bool func(string (&Q)[N][N], string s) {
+ short n_presents[2] = {0};
+ for(int i = 0; i < N; ++i) {
+ if(Q[i][i].find(s) != std::string::npos)
+ n_presents[0]++;
+ }
+
+ for(int i = 0, j = N-1; i < N; ++i, --j) {
+ cout << Q[j][i].find(s) << endl;
+ if(Q[j][i].find(s) != std::string::npos)
+ n_presents[1]++;
+ }
+
+ return n_presents[0] > n_presents[1];
+}
+
+int main() {
+ string a1[3][3] = {
+ {"ciaoneXX", "fra", "zio"},
+ {"oh, ma che", "eXXh", "sta cosa?"},
+ {"greg", "no", "foXXrse"}
+ };
+
+ string a2[3][3] = {
+ {"ciaoneXX", "fra", "ziYYo"},
+ {"oh, ma che", "eXXYYh", "sta cosa?"},
+ {"gregYY", "no", "foXrse"}
+ };
+
+ cout << func(a1, "XX") << ' ' << func(a2, "YY") << endl;
+
+ return 0;
+}