Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<vector>
- #include<cmath>
- std::vector<std::vector<int>> readVec2DfromInput(int size) {
- std::vector<std::vector<int>> vec2D(size, std::vector<int>(size));
- for (auto& row : vec2D)
- {
- for (int& number : row)
- {
- std::cin >> number;
- }
- }
- return vec2D;
- }
- int calculateSumPrimeDiag(const std::vector<std::vector<int>>& vec2D, int size) {
- int sum = 0;
- for (size_t i = 0; i < size; i++)
- {
- for (size_t j = 0; j < size; j++)
- {
- if (j == i)
- {
- sum += vec2D[i][j];
- }
- }
- }
- return sum;
- }
- int calculateSumSecondDiag(const std::vector<std::vector<int>>& vec2D, int size) {
- int sum = 0;
- int i = 0;
- int j = size - 1;
- while (j >= 0)
- {
- sum += vec2D[i][j];
- i++;
- j--;
- }
- return sum;
- }
- int main() {
- int size;
- std::cin >> size;
- const std::vector<std::vector<int>> vec2D = readVec2DfromInput(size);
- const int sumPimeDiagonal = calculateSumPrimeDiag(vec2D, size);
- const int sumSecondDiagonal = calculateSumSecondDiag(vec2D, size);
- //std::cout << sumPimeDiagonal << std::endl;
- //std::cout << sumSecondDiagonal << std::endl;
- int diffDiagonals = std::abs(sumPimeDiagonal - sumSecondDiagonal);
- std::cout << diffDiagonals << std::endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment