summaryrefslogtreecommitdiff
path: root/I_anno/Programmazione_1/ex2_tutorato_14_01_20.cc
diff options
context:
space:
mode:
authorSanto Cariotti <dcariotti24@gmail.com>2020-01-20 19:50:38 +0100
committerSanto Cariotti <dcariotti24@gmail.com>2020-01-20 19:50:38 +0100
commit9143e0417636f685c65a282e0169c15413afe584 (patch)
treeca3c63fef434173e6774c5e4b8e833a0dfdda035 /I_anno/Programmazione_1/ex2_tutorato_14_01_20.cc
parentb4903739443bdfabc7ce425dde22d1323debb5c0 (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.cc38
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;
+}