求大佬帮忙解决这道c++题目,要求调用Sum函数计算二维数组每行元素之和,并将和保存在每行的第一个元素中

在main函数中初始化二维数组table,然后调用Sum函数计算该二维数组每行元素之和,并将和保存在每行的第一个元素中。返回main函数后,计算所有元素之和并保存到变量result中,最后输出result。请补充Sum函数体以实现题目要求。(注意:部分代码已给出且不可删改)
#include <iostream>
#include <cstdio>
using namespace std;
void Sum(int a[][4], int row)
{ //补充Sum函数体,实现题目要求

}
int main()
{
int i;
int result=0;
int table[3][4] = {{1, 2, 3, 4}, {2, 3, 4, 5}, {3, 4, 5, 6}};
Sum(table, 3); //调用子函数,计算各行和
for (i = 0; i < 3; i++)
result=result+table[i][0];
cout <<result<< endl;
FILE *fp;
fp = fopen("res.txt","w");
fprintf(fp,"%d",result);
return 0;
}

void Sum(int a[][4], int row)
{ //补充Sum函数体,实现题目要求

for (int i = 0; i < row; ++i) {
int result = 0;
for (int j = 0; j < 4; ++j) {
result += a[i][j];
}
a[i][0] = result;
}
}
请采纳,谢谢!追问

解决了,谢谢!

温馨提示:内容为网友见解,仅供参考
第1个回答  2020-04-11
for(int i=0;i<=3;i++)
for(int j=1;j<=3;j++)
a[i][0]+=a[i][j];
你那个row可以不要,如果row是表示有几行的话,也可以把i<=3改成i<=row追问

运行结果不大对,但还是谢谢解答

追答

你这里好像不能这样弄,这样函数里面只是操作了a数组,和table数组没有关系。指针什么的我不太会弄,你把table定义成全局变量,然后把函数里面的改成

for(int i=0;i<=3;i++)
for(int j=1;j<=3;j++)
table[i][0]+=table[i][j];

这样应该就可以了

求大佬帮忙解决这道c++题目,要求调用Sum函数计算二维数组每行元素之和...
void Sum(int a[][4], int row){ \/\/补充Sum函数体,实现题目要求 for (int i = 0; i < row; ++i) { int result = 0;for (int j = 0; j < 4; ++j) { result += a[i][j];} a[i][0] = result;} } 请采纳,谢谢!

C++难题 二维数组求和
if(i!=1&&j!=1){\/\/第一列和第一行除外 \/\/每个元素等于其左边和上边的元素之和 a[i][j]=a[i-1][j]+a[i][j-1];} } } for(int i=1;i<=n;i++){\/\/求和 for(int j=1;j<=m;j++){ sum+=a[i][j];printf("%d ",a[i][j]);\/\/打印 (测评时可以注释掉)} puts...

C++求助:随机生成二维数组,并求每列元素的平方和,请大家帮我看看输出结...
这里改成 printf("%.0lf\\n",SumOfSquares[j]);

c++:求一个5行3列二维数组每行元素的和,并将球得的和按由小到大的次序...
void main(){ int a[5][3],dst[5]={0};int i,j,t;for(i=0;i<5;i++)for(j=0;j<3;j++)scanf("%d",&a[i][j]);for(i=0;i<5;i++)for(j=0;j<3;j++)dst[i]+=a[i][j];for(i=0;i<4;i++)for(j=i;j<4;j++)if(dst[j]>dst[j+1]){ t=dst[i];dst...

c++题:设计一个程序,求一个n*n阶矩阵两对角线元素之和
void print(int m, int p, int *p4); \/*函数声明*\/ int main(){ int test_num = 0; \/*要计算的次数*\/ int comp_times = 0; \/*已经执行计算的次数*\/ int m, n, p, i, j, k, sum, x; \/*m,n,p确定矩阵形式,i,j表行与列,sum求每次计算之和*\/ int *p1 = NULL; \/...

求c++语言解决实际问题~~~很急的
1解决一个实际问题。题目学生自拟,要互不相同。要求用到:盘文件输入输出、数组、循环、选择、除主函数外至少要用到3个自定义函数。2〉要有项目简介、运行示例和程序清单,程序要有适... 1解决一个实际问题。题目学生自拟,要互不相同。要求用到:盘文件输入输出、数组、循环、选择、除主函数外至少要用到3个自...

c++返回二维数组的最大元素和它所在的行、列号?
在 C++ 中,可以使用函数返回二维数组的最大元素及其所在行、列号。下面是一个示例代码:```cpp include <iostream> using namespace std;const int ROWS = 3;const int COLS = 4;void findMax(int arr[][COLS], int& maxVal, int& row, int& col) { maxVal = arr[0][0];row = 0;...

c++,输入一个未知大小的数组怎么做??? 要求有回答范例。。。_百度知...
如下参考:1.首先,定义一个常量大小来控制数组的大小。2.定义一个自定义函数度来输入二维数组中每个已知元素的值。3.使用双循环,输入二维数组的值,如下图所示。4.在主函数中,定义两个整数变量m和n,并保存数组的行和列。5.接下来,定义一个二维数组,如下图所示。6.输入数组的行数和列数...

在C语言中,编写程序,求下列矩阵各行元素之和及各列元素之和
考虑到这道题的性质,用一维数组运算速度更快(原理就不说了,要想问再留言)int arry1[5]={1,3,5,7,9};int arry2[5]={2,4,6,8,10};int arry3[5]={3,5,8,7,6};int sum_row[3]={0*3};\/*一行元素之和*\/int sum_column[5]={0*8};\/*一列元素之和*\/for(int i=0;i<5;i++){...

C++语法高手进
43. C 中,数组永远不会按值传递,它总是传递第一个元素(准确的说是第0个)的指针。多维数组被传递为指向第0个元素的指针。如matrix[][10]等同于int (*matrix)[10],都表示matrix是个二维数组,每行10列。而int *matrix[10]表示一个含有10指向int的指针的数组。44. UNIX系统函数chmod改变文件的保护级别,它...

相似回答