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
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;}
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
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă