Rezolvare completă PbInfo #991 Matrice5

Cerința

Se dă o matrice pătratică cu n linii și n coloane, numerotate de la 1 la n și elemente numere naturale. Să se determine suma elementelor aflate strict deasupra diagonalei secundare a matricei.

Se va defini și folosi subprogramul sub, cu 3 parametri:

  • n – dimensiunea matricei
  • x – matricea
  • k – un număr natural, 1 < k ≤ 2*n

care va returna suma tuturor elementelor aij din matrice pentru care i + j = k.

Date de intrare

Fișierul de intrare matrice5.in conține pe prima linie numărul n, iar următoarele n linii câte n numere naturale, reprezentând elementele matricei.

Date de ieșire

Fișierul de ieșire matrice5.out va conține pe prima linie suma determinată.

Restricții și precizări

  • 1 ≤ n ≤ 100
  • elementele matricei sunt numere naturale mai mici decât 1000
  • liniile matricei sunt numerotate de la 1 la n.

Exemplu

matrice5.in

4 
1 6 3 1
6 1 3 1
1 3 1 6
3 1 6 1

matrice5.out

18

Cum e corect?

cout < "As la info"; cout << "As la info"; cout >> "As la info";

Felicitări! Poți mai mult?

Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.

Greșit, dar nu-i bai!

Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.

Rezolvare

Iată rezolvarea de 100 de puncte pentru problema Matrice5:

#include <iostream>
#include <fstream>
using namespace std;

ifstream fin ("matrice5.in");
ofstream fout("matrice5.out");

int n , x[105][105];

int sub(int n, int x[][105], int k)
{
    int s = 0;
    for(int i = 1 ; i < k ; i ++)
        s += x[i][k-i];
    return s;
        
}

int main()
{
    fin >> n;
    for(int i = 1 ; i <= n ; i ++)
        for(int j = 1 ; j <= n ; j ++)
            fin >> x[i][j];
    int s = 0;
    for(int k = 2 ; k <= n ; k ++)
        s += sub(n , x , k);
    fout << s;
    return 0;
}

Atenție

Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa Adresa de email.

Rezolvarea problemei #991 Matrice5

Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #991 Matrice5 de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.

Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!