题目:
1.计算每一【行】的元素之和,将和直接存放在每一行的第一个元素中,返回主函数之后输出各元素的和。
2.计算每一【列】的元素之和,将和直接存放在每一行的第一个元素中,返回主函数之后输出各元素的和。
数组为:
{ 1 2 3 4 };
{ 2 3 4 5 };
{ 3 4 5 6 };
运行结果:
题目1的程序:
#include <iostream>
using namespace std;
//计算二维数组a每行元素的值的和并把总数赋值给每行第一位,nRow是行数。
//int a[][4], 其实指的就是二维数组,指针形式进入,所以应该传入table这个首地址。
void rowsum(int a[][4], int nRow)
{
//行循环 ”i“
for(int i=0;i<nRow;i++)
{// 列循环 ”j“ 累加这一列 各行的值
for(int j=1;j<4;j++)
// 累加的值放在行的首位
a[i][0] += a[i][j];
}
}
//按矩形方阵形式打印数组元素
int main()
{
int table[3][4] = { { 1,2,3,4 }, {2,3,4,5,}, {3,4,5,6} }; //声明并初始化数组
for (int i = 0; i < 3; i++) //输出数组元素
{
for(int j=0;j<4;j++)
cout << table[i][j] << "";
cout << endl;
}
cowsum(table, 3); //调用子函数,计算各行的和
for (int i = 0; i < 3; i++) //输出计算结果
cout << "第" << i << "行的和为" << table[i][0] << endl;
return 0;
}
题目2的程序:
#include <iostream>
using namespace std;
//计算二维数组a每列元素的值的和并把总数赋值给每列第一位,ncol是列数。
//int a[][4], 其实指的就是二维数组,指针形式进入,所以应该传入table这个首地址。
void columnsum(int a[][4], int ncol)
{
//列循环 ”j“
for(int j=0;j<ncol;j++)
{// 行循环 ”i“ 累加这一列 各行的值
for(int i=1;i<3;i++)
// 累加的值放在列的首位
a[0][j] += a[i][j];
}
}
//按矩形方阵形式打印数组元素
int main()
{
int table[3][4] = { { 1,2,3,4 }, {2,3,4,5,}, {3,4,5,6} }; //声明并初始化数组
for (int i = 0; i < 3; i++) //输出数组元素
{
for(int j=0;j<4;j++)
cout << table[i][j] << "";
cout << endl;
}
columnsum(table, 4); //调用子函数,计算各列的和
for (int j = 0; j < 4; j++) //输出计算结果
cout << "第" << j << "列的和为" << table[0][j] << endl;
return 0;
}
总结:
学习任何东西得多动手(自己敲一下代码),
多看多观摩(多看别人的程序,当然不是让你ctrl c+v ,是看别人的写法思路,然后CTRL c+v修修改改他们的参数值运行>错误>修改>成功),
所以,如果需要各种源程序,可以点赞加关注再打赏个鸡腿就更好了,私聊我发你,下载配套学习代码教程及课程配套课件,进行参考学习。噢,你可以看一下你作业题目是不是数的例6-2题