From e3f57a011e967e7eaffe506ebfe73d52f61e862a Mon Sep 17 00:00:00 2001 From: Santo Cariotti Date: Sun, 10 Nov 2019 12:27:07 +0100 Subject: :dizzy: Ex 15 Scrivere un metodo che preveda due parametri formali: una matrice A di stringhe ed una matrice B di short, entrambe di --- I_anno/Programmazione_1/ex15.cc | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 I_anno/Programmazione_1/ex15.cc (limited to 'I_anno/Programmazione_1/ex15.cc') diff --git a/I_anno/Programmazione_1/ex15.cc b/I_anno/Programmazione_1/ex15.cc new file mode 100644 index 0000000..525882c --- /dev/null +++ b/I_anno/Programmazione_1/ex15.cc @@ -0,0 +1,41 @@ +#include +using namespace std; + +template +unique_ptr func(string (&A)[N][M], short (&B)[N][M]) { + auto arr = unique_ptr(new string[N]); + + for(int i = 0; i < N; ++i) { + short sum{0}; + string tmp{""}; + for(int j = 0; j < M; ++j) { + sum+=B[i][j]; + tmp+=A[i][j]; + } + + arr[i] = tmp.length() >= sum ? tmp : ""; + } + + return arr; +} + +int main() { + string A[2][3] = { + {"aab", "aA", "314"}, + {"1334", "5715", "__"}, + }; + + short B[2][3] = { + {2, 3, 0}, + {1, 15, 7} + }; + + auto x = func(A, B); + + for(int i = 0; i < 2; ++i) + cout << x[i] << ' '; + + cout << endl; + + return 0; +} -- cgit v1.2.3-18-g5258