From cbffcbe7818dcfcd8b82b08736cf1bfbeea0ea76 Mon Sep 17 00:00:00 2001 From: Santo Cariotti Date: Wed, 11 Dec 2019 22:25:01 +0100 Subject: ex 17 Scrivere un metodo che prenda un parametro formale matrice di stringhe S di dimensione n × m e due array di caratteri C e D di egual dimensione n e restituisca un array di short nel quale il generico elemento di posto i contiene il numero di stringhe che iniziano con il carattere di C avente indice i e finiscono con il carattere in D avente indice i. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- I_anno/Programmazione_1/ex17.cc | 43 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 I_anno/Programmazione_1/ex17.cc (limited to 'I_anno/Programmazione_1') diff --git a/I_anno/Programmazione_1/ex17.cc b/I_anno/Programmazione_1/ex17.cc new file mode 100644 index 0000000..9eee61d --- /dev/null +++ b/I_anno/Programmazione_1/ex17.cc @@ -0,0 +1,43 @@ +#include + +using namespace std; + +template +short* func(string (&S)[N][M], char (&C)[N], char (&D)[N]) { + short* a = new short[N]; + + for(int i = 0; i < N; ++i) { + short counter = 0; + for(auto const& rows_string : S[i]) { + if(rows_string.length() > 2) { + if(rows_string.at(0) == C[i] + && rows_string.at(rows_string.length()-1) == D[i]) + ++counter; + } + } + + a[i] = counter; + } + + + return a; +} + +int main() { + string t[3][3]{ + {"suca", "we", "soia"}, + {"omg", "ooohygodg", "onopg"}, + {"", "mii", ""}, + }; + + char c[3] = {'s', 'o', 'a'}; + char d[3] = {'a', 'g', 'a'}; + + short* n = func(t, c, d); + + for(int i = 0; i < 3; ++i) { + cout << n[i] << ' '; + } + + return 0; +} -- cgit v1.2.3-18-g5258