summaryrefslogtreecommitdiff
path: root/I_anno/Programmazione_1/ex2_28_01_19.cc
diff options
context:
space:
mode:
authorSanto Cariotti <dcariotti24@gmail.com>2019-11-15 19:06:01 +0100
committerSanto Cariotti <dcariotti24@gmail.com>2019-11-15 19:06:01 +0100
commit6dc8738269a20034b53bb363e0fb9493c15d5230 (patch)
tree62019297a3b44ed5e3892eeebdc9f35db3a61ae1 /I_anno/Programmazione_1/ex2_28_01_19.cc
parente91191bac51ca876db8467c6295e007cb8cbdb0b (diff)
Ex 2 - 28 Gennaio 2019
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_28_01_19.cc')
-rw-r--r--I_anno/Programmazione_1/ex2_28_01_19.cc36
1 files changed, 36 insertions, 0 deletions
diff --git a/I_anno/Programmazione_1/ex2_28_01_19.cc b/I_anno/Programmazione_1/ex2_28_01_19.cc
new file mode 100644
index 0000000..7ad8398
--- /dev/null
+++ b/I_anno/Programmazione_1/ex2_28_01_19.cc
@@ -0,0 +1,36 @@
+#include <iostream>
+#include <cctype>
+
+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 string_num = 0;
+ for(int j = 0; j < M; ++j) {
+ short upper_chars = 0;
+ for(auto const& c : A[i][j]) {
+ if(isupper(c))
+ ++upper_chars;
+ }
+
+ if(upper_chars >= s)
+ ++string_num;
+ }
+
+ if(string_num >= k)
+ return false;
+ }
+
+ return true;
+}
+
+int main() {
+ string A[2][3] = {
+ {"suce", "oHh", "b"},
+ {"111", "HAAa", "B"}
+ };
+
+ cout << func(A, 2, 1) << endl;
+ return 0;
+}