JosepRivaille

P64789: C401A

May 23rd, 2015
583
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.76 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. using namespace std;
  4.  
  5.  
  6. typedef vector< vector<int> > Matriu;
  7.  
  8.  
  9. int suma_diagonals(const Matriu& mat) {
  10.     int tam = mat.size();
  11.     int suma = 0;
  12.     int i = 0, j = 0;
  13.     while (i < tam && j < tam) {
  14.         suma += mat[i][j];
  15.         ++i;
  16.         ++j;
  17.     }
  18.     i = tam-1;
  19.     j = 0;
  20.     while (i >= 0 && j < tam) {
  21.         suma += mat[i][j];
  22.         --i;
  23.         ++j;
  24.     }
  25.     if (tam%2 != 0) suma -= mat[tam/2][tam/2];
  26.     return suma;
  27. }
  28.  
  29. void read_matrix(Matriu& mat){
  30.     int tam = mat.size();
  31.     for (int i = 0; i < tam; ++i) {
  32.         for (int j = 0; j < tam; ++j) {
  33.             cin >> mat[i][j];
  34.         }
  35.     }
  36. }
  37.  
  38. int main() {
  39.     int tam;
  40.     while (cin >> tam) {
  41.         Matriu mat(tam, vector<int>(tam));
  42.         read_matrix(mat);
  43.         cout << suma_diagonals(mat) << endl;
  44.     }
  45. }
  46.  
  47. //JosepRivaille
Advertisement
Add Comment
Please, Sign In to add comment