From 9614d577a3f3ca8f659074a56744ed33b7df67c6 Mon Sep 17 00:00:00 2001 From: Santo Cariotti Date: Fri, 8 Nov 2019 11:17:19 +0100 Subject: Ex 13 Scrivere un metodo che preveda due parametri formali matrici di interi, A e B di dimensioni k × n ed n × k rispettivamente, e restituisca uno array monodimensionale di k elementi double in cui lo i-esimo elemento sia uguale alla differenza tra la media aritmetica degli elementi della riga i-esima di A ed il minimo valore degli elementi della colonna i-esima di B. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- I_anno/Programmazione_1/ex13.cc | 44 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 I_anno/Programmazione_1/ex13.cc (limited to 'I_anno/Programmazione_1/ex13.cc') diff --git a/I_anno/Programmazione_1/ex13.cc b/I_anno/Programmazione_1/ex13.cc new file mode 100644 index 0000000..e044504 --- /dev/null +++ b/I_anno/Programmazione_1/ex13.cc @@ -0,0 +1,44 @@ +#include +#include +#include +#define K 2 +#define N 3 +using namespace std; + +double* func(int A[K][N], int B[N][K]) { + double* arr = new double[K]; + for(int i = 0; i < K; ++i) { + vector t; + int sum = 0; + for(int j = 0; j < N; ++j) { + t.push_back(B[j][i]); + sum+=A[i][j]; + } + + double media = static_cast(sum)/N; + auto min_num = min_element(begin(t), end(t)); + arr[i] = media - *min_num; + } + + return arr; +} + +int main() { + int A[K][N] = { + {3, 7, 10}, + {5, 12, 32}, + }; + int B[N][K] = { + {12, 10}, + {15, 17}, + {8, 0}, + }; + double* x = func(A, B); + + for(int i = 0; i < K; ++i) + cout << x[i] << ' '; + + cout << endl; + + return 0; +} -- cgit v1.2.3-18-g5258