summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--I_anno/Programmazione_1/ex2_08_03_18.cc49
1 files changed, 49 insertions, 0 deletions
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<iostream>
+using namespace std;
+
+template<int N, int M>
+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;
+}