summaryrefslogtreecommitdiff
path: root/I_anno/Programmazione_1
diff options
context:
space:
mode:
authorSanto Cariotti <dcariotti24@gmail.com>2020-01-26 23:14:09 +0100
committerSanto Cariotti <dcariotti24@gmail.com>2020-01-26 23:14:09 +0100
commit9a0cb71572997c38115cc6f85f7c76f9767f1d0b (patch)
tree8e94ce32bc36ed66ffbb4c02c6d37ab76a0b7287 /I_anno/Programmazione_1
parent499570e1a364c6fa0eb38738a39aae22cdb2290f (diff)
ex2 6/12/18
Scrivere un metodo che prenda in input tre parametri formali: una matrice di puntatori a stringhe A di dimensioni n × m, uno short k ed una stringa s. Il metodo restituisca un array di bool di dimensione n in cui il singolo elemento di indice i assume valore true se la stringa s `e sottostringa di almeno k stringhe della riga i-esima della matrice A.
Diffstat (limited to 'I_anno/Programmazione_1')
-rw-r--r--I_anno/Programmazione_1/ex2_06_12_18.cc34
1 files changed, 34 insertions, 0 deletions
diff --git a/I_anno/Programmazione_1/ex2_06_12_18.cc b/I_anno/Programmazione_1/ex2_06_12_18.cc
new file mode 100644
index 0000000..50744ba
--- /dev/null
+++ b/I_anno/Programmazione_1/ex2_06_12_18.cc
@@ -0,0 +1,34 @@
+#include<iostream>
+#define N 3
+#define M 4
+
+using namespace std;
+
+bool* func(string (*A)[M], short k, string s) {
+ bool* arr = new bool[N];
+
+ for(int i = 0; i < N; ++i) {
+ short counter{};
+ for(int j = 0; j < M; ++j) {
+ if(A[i][j].find(s) != std::string::npos)
+ ++counter;
+ }
+
+ arr[i] = (counter >= k);
+ }
+
+ return arr;
+}
+
+int main() {
+ string Arr[N][M] = {
+ {"Ciaone", "Come one va?", "We one", ""},
+ {"Ciaoe", "Come va?", "We one", ""},
+ {"Ciaone", "Come one va?", "We one", ""},
+ };
+
+ bool* v = func(Arr, 2, "one");
+ for(int i = 0; i < N; ++i) cout << v[i] << ' ';
+
+ return 0;
+}