diff options
author | Santo Cariotti <dcariotti24@gmail.com> | 2020-01-26 23:14:09 +0100 |
---|---|---|
committer | Santo Cariotti <dcariotti24@gmail.com> | 2020-01-26 23:14:09 +0100 |
commit | 9a0cb71572997c38115cc6f85f7c76f9767f1d0b (patch) | |
tree | 8e94ce32bc36ed66ffbb4c02c6d37ab76a0b7287 /I_anno/Programmazione_1 | |
parent | 499570e1a364c6fa0eb38738a39aae22cdb2290f (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.cc | 34 |
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; +} |