diff options
feat(Week08): Add solutions
1 files changed, 28 insertions, 0 deletions
| -rw-r--r-- | Week08/Exercise02.cpp | 28 |
diff --git a/Week08/Exercise02.cpp b/Week08/Exercise02.cpp new file mode 100644 index 0000000..34752c5 --- /dev/null +++ b/Week08/Exercise02.cpp @@ -0,0 +1,28 @@ +#include <iostream> + +void rowSum(const unsigned int* matrix, unsigned int rows, unsigned int cols, unsigned int* sum) { + for (unsigned int row = 0; row < rows; row++) + for (unsigned int col = 0; col < cols; col++) + /* За повече информация защо така индексираме в matrix, вижте + * https://syndamia.com/teaching/upp-2025/cpp-pitfalls/#-int73-vs-int3-vs-int + */ + sum[col] += matrix[row * cols + col]; +} + +int main() { + const unsigned int ROWS = 7, COLS = 3; + unsigned int mat[ROWS][COLS]; + + for (unsigned int i = 0; i < ROWS; i++) + for (unsigned int j = 0; j < COLS; j++) + std::cin >> mat[i][j]; + + unsigned int sum[COLS] = { 0 }; + rowSum((const unsigned int*)mat, ROWS, COLS, sum); + + for (unsigned int col = 0; col < COLS; col++) + std::cout << sum[col] << ' '; + std::cout << std::endl; + + return 0; +} |
