Se dă o matrice m cu n linii și n coloane. Să se afișeze suma maximă a elementelor situate pe o paralelă la diagonala principală sau secundară.
Date de intrare
De pe prima linie se citește numărul n. De pe următoarele n linii se citesc n numere întregi, reprezentând elementele matricei.
Date de ieșire
Programul va afișa pe ecran suma cerută.
Restricții și precizări
1 ≤ n ≤ 50
-100 ≤ m[i][j] ≤ 100
Diagonalele principale și secundare se consideră și ele paralele
Exemplu
Date de intrare Date de ieșire
4
1 2 30 4
5 6 7 8
9 10 11 12
13 14 15 16 45
Explicație
Suma maximă se obține pentru prima paralelă de deasupra diagonalei secundare.
Limbaj C++
Răspunsuri la întrebare
Răspuns de
0
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
int mat[n][n];
int max_sum = 0;
int current_sum = 0;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cin >> mat[i][j];
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (i == j || i + j == n - 1) {
current_sum += mat[i][j];
}
}
max_sum = max(max_sum, current_sum);
current_sum = 0;
}
cout << max_sum << endl;
return 0;
}
Juju93:
Salut si multumesc de ajutor, dar nu imi da raspunsul corect. Raspunsul corect e 45 si mie imi da 29.
if (i == j || i + j == n - 1) {
current_sum += mat[i][j];
}
cu
if (i == j || i + j == n - 1 || i + j == n - 1) {
current_sum += mat[i][j];
}
Alte întrebări interesante
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Fizică,
8 ani în urmă
Matematică,
8 ani în urmă
Franceza,
9 ani în urmă
Matematică,
9 ani în urmă