#include <iostream>
void calculateSums(int*, unsigned, unsigned);
int main()
{
int t[12] = { 1, 4, 2, 6,
2, 5, 3, 3,
8, 7, 4, 6 };
calculateSums(t, 3, 4);
return 0;
}
void calculateSums(int* t, unsigned rowCount, unsigned columnCount)
{
unsigned rowSum = 0, counter = 1;
unsigned rowDivisor = rowCount;
for(unsigned i = 0 ; i < rowCount * columnCount ; ++i) {
rowSum += t[i];
if(!rowDivisor--) {
std::cout << "suma " << counter << " wiersza: " << rowSum << std::endl;
rowSum = 0;
++counter;
rowDivisor = rowCount;
}
}
unsigned columnSum = 0;
counter = 1;
for(unsigned k = 0 ; k < columnCount ; ++k) {
for(unsigned j = 0 ; j < rowCount * columnCount ; j += columnCount)
columnSum += t[k + j];
std::cout << "suma " << counter << " kolumny: " << columnSum << std::endl;
columnSum = 0;
++counter;
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdm9pZCBjYWxjdWxhdGVTdW1zKGludCosIHVuc2lnbmVkLCB1bnNpZ25lZCk7CgppbnQgbWFpbigpCnsKCWludCB0WzEyXSA9IHsgMSwgNCwgMiwgNiwKCQkJCSAgMiwgNSwgMywgMywKCQkJCSAgOCwgNywgNCwgNiB9OwoJY2FsY3VsYXRlU3Vtcyh0LCAzLCA0KTsKCglyZXR1cm4gMDsKfQoKdm9pZCBjYWxjdWxhdGVTdW1zKGludCogdCwgdW5zaWduZWQgcm93Q291bnQsIHVuc2lnbmVkIGNvbHVtbkNvdW50KQp7Cgl1bnNpZ25lZCByb3dTdW0gPSAwLCBjb3VudGVyID0gMTsKCXVuc2lnbmVkIHJvd0Rpdmlzb3IgPSByb3dDb3VudDsKCWZvcih1bnNpZ25lZCBpID0gMCA7IGkgPCByb3dDb3VudCAqIGNvbHVtbkNvdW50IDsgKytpKSB7CgkJcm93U3VtICs9IHRbaV07CgkJaWYoIXJvd0Rpdmlzb3ItLSkgewoJCQlzdGQ6OmNvdXQgPDwgInN1bWEgIiA8PCBjb3VudGVyIDw8ICIgd2llcnN6YTogIiA8PCByb3dTdW0gPDwgc3RkOjplbmRsOwoJCQlyb3dTdW0gPSAwOwoJCQkrK2NvdW50ZXI7CgkJCXJvd0Rpdmlzb3IgPSByb3dDb3VudDsKCQl9Cgl9CgoJdW5zaWduZWQgY29sdW1uU3VtID0gMDsKCWNvdW50ZXIgPSAxOwoJZm9yKHVuc2lnbmVkIGsgPSAwIDsgayA8IGNvbHVtbkNvdW50IDsgKytrKSB7CgkJZm9yKHVuc2lnbmVkIGogPSAwIDsgaiA8IHJvd0NvdW50ICogY29sdW1uQ291bnQgOyBqICs9IGNvbHVtbkNvdW50KQoJCQljb2x1bW5TdW0gKz0gdFtrICsgal07CgoJCXN0ZDo6Y291dCA8PCAic3VtYSAiIDw8IGNvdW50ZXIgPDwgIiBrb2x1bW55OiAiIDw8IGNvbHVtblN1bSA8PCBzdGQ6OmVuZGw7CgkJY29sdW1uU3VtID0gMDsKCQkrK2NvdW50ZXI7Cgl9Cn0K