Se consideră o matrice a cu n linii şi m coloane cu elemente numere reale. Valorile pentru n şi m şi elementele matricei se citesc de la tastatură. Să se afişeze numărul liniei şi numărul coloanei pe care suma elementelor este maximă. 27

Pentru a rezolva această problemă, putem parcurge matricea și calcula suma elementelor pentru fiecare linie și fiecare coloană. La fiecare iterație, comparam suma curentă cu suma maximă până în acel moment și actualizăm suma maximă și indicele de linie/coloană corespunzător.

#include <iostream>

using namespace std;

int main() {

    int n, m;

    cout << „Introduceti numarul de linii si coloane ale matricei: „;

    cin >> n >> m;

    // Initializam matricea si variabilele pentru suma maxima si indicele de linie/coloana

    double a[n][m], maxSum = 0;

    int maxRow = 0, maxCol = 0;

    // Citim elementele matricei

    cout << „Introduceti elementele matricei:\n”;

    for (int i = 0; i < n; i++) {

        for (int j = 0; j < m; j++) {

            cin >> a[i][j];

        }

    }

    // Calculam suma elementelor pentru fiecare linie si fiecare coloana

    for (int i = 0; i < n; i++) {

        double rowSum = 0;

        for (int j = 0; j < m; j++) {

            rowSum += a[i][j];

        }

        if (rowSum > maxSum) {

            maxSum = rowSum;

            maxRow = i;

        }

    }

    for (int j = 0; j < m; j++) {

        double colSum = 0;

        for (int i = 0; i < n; i++) {

            colSum += a[i][j];

        }

        if (colSum > maxSum) {

            maxSum = colSum;

            maxCol = j;

        }

    }

    // Afisam rezultatul

    cout << „Suma maxima este ” << maxSum << ” si se afla pe linia ” << maxRow+1 << ” si coloana ” << maxCol+1 << endl;

    return 0;

}

În acest cod, citim mai întâi dimensiunile matricei și elementele sale, apoi calculăm suma elementelor pentru fiecare linie și coloană folosind două bucle for. În final, afișăm numărul de linie și coloana corespunzătoare valorii maxime găsite

Similar Posts

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *