summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSanto Cariotti <dcariotti24@gmail.com>2019-12-11 21:59:39 +0100
committerSanto Cariotti <dcariotti24@gmail.com>2019-12-11 21:59:39 +0100
commit751c7698830bd23be604105c7f2a3ed41ffea158 (patch)
tree76ef916cb5d82e334c508c1380e7fcb81a875c65
parent22fc4e5142388493e7cc158bb439461d522789cb (diff)
Ex 1
Definire una funzione che prenda in input un array di stringhe. La funzione restituisce un array di tipo bool dove ogni elemento indica se la stringa i-esima dello array di partenza รจ palindroma. Assumere come palindroma anche il caso di caratteri Maiuscoli e Minuscoli. Le stringhe possono avere lunghezza diversa (usare matrice di char) NB: Una stringa si dice palindroma se letta al contrario rimane invariata Esempi: anna โ†’ true lol โ†’ true Anna โ†’ true Usato string
-rw-r--r--I_anno/Programmazione_1/ex1_tutorato_03_12_19.cc33
1 files changed, 33 insertions, 0 deletions
diff --git a/I_anno/Programmazione_1/ex1_tutorato_03_12_19.cc b/I_anno/Programmazione_1/ex1_tutorato_03_12_19.cc
new file mode 100644
index 0000000..d8d61b0
--- /dev/null
+++ b/I_anno/Programmazione_1/ex1_tutorato_03_12_19.cc
@@ -0,0 +1,33 @@
+#include <iostream>
+#include <cctype>
+
+using namespace std;
+
+template<int N>
+bool* func(string (&A)[N]) {
+ bool* a2 = new bool[N];
+
+ for(int i = 0; i < N; ++i) {
+ bool is_pal = true;
+ for(int j = 0, z = A[i].length()-1; j < z; ++j, --z ) {
+ if(tolower(A[i].at(j)) != tolower(A[i].at(z))) {
+ is_pal = false;
+ break;
+ }
+ }
+ a2[i] = is_pal;
+ }
+
+ return a2;
+}
+
+int main() {
+ string t[] = {"oslo", "yam_a_may", "AnNa"};
+ auto a = func(t);
+
+ for(int i = 0; i < 3; ++i) {
+ cout << a[i] << ' ';
+ }
+
+ return 0;
+}