👤

Cerinţa(C++)
Să se afișeze elementele de pe coloana din matrice cu suma elementelor maximă

Date de intrare
Fişierul de intrare sumcolmax.in conţine pe prima linie numerele n și m, iar următoarele n linii câte m numere întregi, reprezentând elementele matricei.

Date de ieşire
Fişierul de ieşire sumcolmax.out va conţine 1 linii, cu n valori, separate prin spații, reprezentând elementele de pe coloana cu suma elementelor maximă

Restricţii şi precizări
1 ≤ n,m ≤ 25
elementele matricei aparțin intervalului [-1000,1000]
dacă sunt mai multe coloane cu suma elementelor maximă, se va considera coloana cu indicele mai mic
elementele coloanei rezultat se afișează de sus în jos


Răspuns :

#include <fstream>
using namespace std;
const int MAXN = 25;
int a[MAXN][MAXN];
int main() {  int n, m, max, curr, ans;
  ifstream fin("sumcolmax.in");  fin >> n >> m;  for (int i = 0; i < n; ++i) {    for (int j = 0; j < m; ++j) {      fin >> a[i][j];    }  }  fin.close();  max = ans = 0;  for (int i = 0; i < m; ++i) {    curr = 0;    for (int j = 0; j < n; ++j) {      curr += a[j][i];      if (curr > max) {        max = curr;        ans = i;      }    }  }  ofstream fout("sumcolmax.out");  for (int i = 0; i < n; ++i) {    fout << a[i][ans] << " ";  }  fout << "\n";  fout.close();
  return 0;}
Vezi imaginea DRUFF