From 39f1aa4cf7d8e1cd2ec89e736d57c1a9f67ca202 Mon Sep 17 00:00:00 2001 From: Santo Cariotti Date: Sun, 19 Jan 2020 22:34:25 +0100 Subject: ex 2 8/3/18 Scrivere un metodo che prenda come parametri formali una matrice A di stringhe ed uno short w, e restituisca in output un bool che indichi se esiste una riga di A in cui siano presenti almeno due stringhe consecutive in cui i primi w caratteri della prima stringa siano uguali agli ultimi w caratteri della seconda stringa (nello stesso ordine). --- I_anno/Programmazione_1/ex2_08_03_18.cc | 49 +++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 I_anno/Programmazione_1/ex2_08_03_18.cc (limited to 'I_anno/Programmazione_1') diff --git a/I_anno/Programmazione_1/ex2_08_03_18.cc b/I_anno/Programmazione_1/ex2_08_03_18.cc new file mode 100644 index 0000000..88d55e1 --- /dev/null +++ b/I_anno/Programmazione_1/ex2_08_03_18.cc @@ -0,0 +1,49 @@ +#include +using namespace std; + +template +bool func(string (&A)[N][M], short w) { + bool check{false}; + for(int i = 0; i < N; ++i) { + bool counter{false}; + string str{""}; + string str2{""}; + for(int j = 0; j < M; ++j) { + if(A[i][j].length() < w) { + counter = false; + continue; + } + + if(!counter) { + str = A[i][j].substr(0, w); + + counter = true; + continue; + } + + str2 = A[i][j].substr(A[i][j].length()-w, w); + + if(str == str2) { + check = true; + break; + } else { + j--; + counter = false; + } + } + + if(check) break; + } + + return check; +} + +int main() { + string A[3][3] = { + {"parola", "allorapar", "bla",}, + {"", "red", "red",}, + {"blue", "", "",}, + }; + cout << func(A, 3); + return 0; +} -- cgit v1.2.3-18-g5258