Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int main() {
- // size_t - използва се за броячи най-често, защото size_t съдържа само положителни числа.
- size_t rows, columns, i, j;
- cout << "Enter matrix rows count: ";
- cin >> rows;
- cout << "Enter matrix columns count: ";
- cin >> columns;
- // Декларирал съм два масива, защото все пак трябва да запазваме сумата за всеки ред
- // или всяка колона, за да можем накрая да ги изведем.
- int* rows_sum = new int[rows];
- int* columns_sum = new int[columns];
- // Динамично заделяне на памет на двумерен масив
- int** array = new int*[rows];
- for (i = 0; i < rows; i++) {
- array[i] = new int[columns];
- }
- // Край на динамично заделяне на памет на двумерен масив
- // Въвеждане в двумерният масив
- for (i = 0; i < rows; i++) {
- for (j = 0; j < columns; j++) {
- cout << "Enter value for [" << i << "][" << j << "]: ";
- cin >> array[i][j];
- }
- }
- // Намираме сумата по редове
- for (i = 0; i < rows; i++) {
- // Зануляваме текущият елемент, тоест му задаваме една начална стойност, за сума е 0.
- // Ако не му зададем такава стойност, то вади собствена произволна, нещо от сорта на 63481
- // и започва да добавя от там.
- rows_sum[i] = 0;
- // Събираме за всеки елемент от даденият ред.
- for (j = 0; j < columns; j++)
- rows_sum[i] += array[i][j];
- }
- // Намираме сумата по колони
- for (j = 0; j < columns; j++) {
- // Зануляваме текущият елемент, тоест задаваме му една начална стойност, за сума е 0.
- // Ако не му зададем такава стойност, то вади собствена произволна, нещо от сорта на 63481
- // и започва да добавя от там.
- columns_sum[j] = 0;
- // Обърнат метод на горният вариант със редовете. :D
- for (i = 0; i < rows; i++)
- columns_sum[j] += array[i][j];
- }
- // Извеждаме сумата на всеки ред по отделно
- for (i = 0; i < rows; i++)
- cout << "Row " << i << " sum is: " << rows_sum[i] << endl;
- // Извеждаме сумата на всяка колона по отделно
- for (i = 0; i < columns; i++)
- cout << "Column " << i << " sum is: " << columns_sum[i] << endl;
- // Освобождаваме заделената памет
- delete[]array, columns_sum, rows_sum;
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement