From 751c7698830bd23be604105c7f2a3ed41ffea158 Mon Sep 17 00:00:00 2001 From: Santo Cariotti Date: Wed, 11 Dec 2019 21:59:39 +0100 Subject: Ex 1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- I_anno/Programmazione_1/ex1_tutorato_03_12_19.cc | 33 ++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 I_anno/Programmazione_1/ex1_tutorato_03_12_19.cc (limited to 'I_anno/Programmazione_1') 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 +#include + +using namespace std; + +template +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; +} -- cgit v1.2.3-18-g5258