Informatică, întrebare adresată de stonedkouhai, 9 ani în urmă

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ăspunsuri la întrebare

Răspuns de Druff
3
#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;}
Anexe:
Alte întrebări interesante