From dbf139e0ac0c7ff385aa3611b17a0b81ba9e316f Mon Sep 17 00:00:00 2001 From: Santo Cariotti Date: Sat, 14 Dec 2019 17:10:17 +0100 Subject: 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. --- I_anno/Programmazione_1/ex2_04_12_19.cc | 39 +++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 I_anno/Programmazione_1/ex2_04_12_19.cc (limited to 'I_anno/Programmazione_1/ex2_04_12_19.cc') 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 +#include + +using namespace std; + +template +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; +} -- cgit v1.2.3-18-g5258