diff options
author | Santo Cariotti <dcariotti24@gmail.com> | 2019-12-11 21:59:39 +0100 |
---|---|---|
committer | Santo Cariotti <dcariotti24@gmail.com> | 2019-12-11 21:59:39 +0100 |
commit | 751c7698830bd23be604105c7f2a3ed41ffea158 (patch) | |
tree | 76ef916cb5d82e334c508c1380e7fcb81a875c65 /I_anno/Programmazione_1 | |
parent | 22fc4e5142388493e7cc158bb439461d522789cb (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
Diffstat (limited to 'I_anno/Programmazione_1')
-rw-r--r-- | I_anno/Programmazione_1/ex1_tutorato_03_12_19.cc | 33 |
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; +} |