#include <stdio.h>
void calculate(int (*a)[4]) {
const int NUM_ROWS = 3;
const int NUM_COLS = 4;
int row_sums[NUM_ROWS];
printf("--- 2次元配列の各行の合計結果 ---\n");
for (int i = 0; i < NUM_ROWS; i++) {
int current_sum = 0;
for (int j = 0; j < NUM_COLS; j++) {
current_sum += a[i][j];
}
row_sums[i] = current_sum;
printf("行 %d の合計 (sum): %d\n", i
, row_sums
[i
]); }
printf("------------------------------------\n"); }
int main() {
int a[3][4] = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}
};
calculate(a);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp2b2lkIGNhbGN1bGF0ZShpbnQgKCphKVs0XSkgewogICAgCiAgICBjb25zdCBpbnQgTlVNX1JPV1MgPSAzOyAKICAgIGNvbnN0IGludCBOVU1fQ09MUyA9IDQ7CiAgICAKICAgIGludCByb3dfc3Vtc1tOVU1fUk9XU107IAoKICAgIHByaW50ZigiLS0tIDLmrKHlhYPphY3liJfjga7lkITooYzjga7lkIjoqIjntZDmnpwgLS0tXG4iKTsKCiAgICBmb3IgKGludCBpID0gMDsgaSA8IE5VTV9ST1dTOyBpKyspIHsKICAgICAgICBpbnQgY3VycmVudF9zdW0gPSAwOwoKICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8IE5VTV9DT0xTOyBqKyspIHsKCiAgICAgICAgICAgIGN1cnJlbnRfc3VtICs9IGFbaV1bal07IAogICAgICAgIH0KCiAgICAgICAgcm93X3N1bXNbaV0gPSBjdXJyZW50X3N1bTsKICAgICAgICAKICAgICAgICBwcmludGYoIuihjCAlZCDjga7lkIjoqIggKHN1bSk6ICVkXG4iLCBpLCByb3dfc3Vtc1tpXSk7CiAgICB9CiAgICBwcmludGYoIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIik7Cn0KCmludCBtYWluKCkgewogICAgaW50IGFbM11bNF0gPSB7CiAgICAgICAgezEsIDIsIDMsIDR9LAogICAgICAgIHs1LCA2LCA3LCA4fSwKICAgICAgICB7OSwgMTAsIDExLCAxMn0KICAgIH07CgogICAgY2FsY3VsYXRlKGEpOwoKICAgIHJldHVybiAwOwp9