diff options
author | Santo Cariotti <dcariotti24@gmail.com> | 2020-01-20 19:50:38 +0100 |
---|---|---|
committer | Santo Cariotti <dcariotti24@gmail.com> | 2020-01-20 19:50:38 +0100 |
commit | 9143e0417636f685c65a282e0169c15413afe584 (patch) | |
tree | ca3c63fef434173e6774c5e4b8e833a0dfdda035 /I_anno/Programmazione_1/ex2_tutorato_14_01_20.cc | |
parent | b4903739443bdfabc7ce425dde22d1323debb5c0 (diff) |
Ex 2 14/01/20
Scrivere un metodo che prenda in input una matrice di stringhe A e due
numeri short senza segno, k ed s, e restituisca il valore booleano true se esiste
almeno una riga di A contenente almeno k stringhe ognuna contenente un
numero di lettere maiuscole minore di s.
Diffstat (limited to 'I_anno/Programmazione_1/ex2_tutorato_14_01_20.cc')
-rw-r--r-- | I_anno/Programmazione_1/ex2_tutorato_14_01_20.cc | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/I_anno/Programmazione_1/ex2_tutorato_14_01_20.cc b/I_anno/Programmazione_1/ex2_tutorato_14_01_20.cc new file mode 100644 index 0000000..b54860e --- /dev/null +++ b/I_anno/Programmazione_1/ex2_tutorato_14_01_20.cc @@ -0,0 +1,38 @@ +#include<iostream> + +using namespace std; + +template<int N, int M> +bool func(string (&A)[N][M], unsigned short k, unsigned short s) { + for(int i = 0; i < N; ++i) { + short count_s{}; + for(int j = 0; j < M; ++j) { + short upper_cs{}; + for(auto const& c : A[i][j]) { + if(isupper(c)) + ++upper_cs; + } + + if(upper_cs < s) + ++count_s; + } + + if(count_s >= k) + return true; + } + + return false; +} + +int main() { + string A[3][4] = { + {"ProVA", "CiAone", "RAed"}, + {"IVVA", "CiAOO", "BLUE"}, + {"AA", "AA", "AA3#"}, + }; + + cout << func(A, 3, 1); + + + return 0; +} |