From 199dde441bd19bacaa3435b770649cd415651a97 Mon Sep 17 00:00:00 2001 From: Santo Cariotti Date: Wed, 22 Jan 2020 22:32:56 +0100 Subject: 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. --- I_anno/Programmazione_1/ex2_23_07_19.cc | 44 +++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 I_anno/Programmazione_1/ex2_23_07_19.cc (limited to 'I_anno') 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 + +using namespace std; + +template +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; +} -- cgit v1.2.3-18-g5258