diff options
author | Santo Cariotti <dcariotti24@gmail.com> | 2019-12-14 17:10:17 +0100 |
---|---|---|
committer | Santo Cariotti <dcariotti24@gmail.com> | 2019-12-14 17:10:17 +0100 |
commit | dbf139e0ac0c7ff385aa3611b17a0b81ba9e316f (patch) | |
tree | 949e6be425d21eda1ba999a557302bcec4d21df2 /I_anno | |
parent | 706cf801b48375d10912aa67e7c89b9e57954f87 (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')
-rw-r--r-- | I_anno/Programmazione_1/ex2_04_12_19.cc | 39 |
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; +} |