diff options
author | Santo Cariotti <dcariotti24@gmail.com> | 2020-01-22 22:32:56 +0100 |
---|---|---|
committer | Santo Cariotti <dcariotti24@gmail.com> | 2020-01-22 22:32:56 +0100 |
commit | 199dde441bd19bacaa3435b770649cd415651a97 (patch) | |
tree | d882c0a2b0fd99d227860d054285b27c35a2e0cb /I_anno | |
parent | b9ac84d27a7d7152e15dfe2ebc422e1f1697659b (diff) |
ex 2 23/07/19
Scrivere un metodo che prenda in input una matrice quadrata Q di stringhe e restituisca il valore booleano true se la stringa piu lunga della diagonale principale di Q contiene un numero di vocali minore della stringa piu` corta della diagonale stessa. NB: Si assuma che le stringhe della diagonale principale abbiano lunghezze differenti e sempre maggiori di zero.
Diffstat (limited to 'I_anno')
-rw-r--r-- | I_anno/Programmazione_1/ex2_23_07_19.cc | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/I_anno/Programmazione_1/ex2_23_07_19.cc b/I_anno/Programmazione_1/ex2_23_07_19.cc new file mode 100644 index 0000000..3b0ed37 --- /dev/null +++ b/I_anno/Programmazione_1/ex2_23_07_19.cc @@ -0,0 +1,44 @@ +#include<iostream> + +using namespace std; + +template<int N> +bool func(string (&Q)[N][N]) { + string stringaL = Q[0][0]; + string stringaC = Q[0][0]; + for(int i = 0; i < N; ++i) { + if(Q[i][i].length() > stringaL.length()) + stringaL = Q[i][i]; + else if(Q[i][i].length() < stringaC.length()) + stringaC = Q[i][i]; + } + + short vocaliL{}; + short vocaliC{}; + + for(auto& c : stringaL) { + c = tolower(c); + if(c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u') + ++vocaliL; + } + + for(auto& c : stringaC) { + c = tolower(c); + if(c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u') + ++vocaliC; + } + + return vocaliL < vocaliC; +} + +int main() { + string A[3][3] = { + {"lllll", "bb", "cc"}, + {"AAA", "e", "cc"}, + {"AAA", "bb", "cc"}, + }; + + cout << func(A); + + return 0; +} |