c++ 编写函数:将一个N*N的二维数组的左下半三角元素中的值乘以n后输出。 5
展开全部
#include <iostream.h>
#define N 5
int main()
{
int i,j,n;
int a[N][N]={{1,2,3,4,5},{5,4,3,3,1},{1,3,4,7,2},{5,8,1,3,5},{4,7,1,3,9}};
cout<<"input n:";
cin>>n;
for(i=0;i<5;++i)
{for(j=0;j<5;++j)
cout<<a[i][j]<<" ";
cout<<endl;
}
cout<<endl;
for(i=0;i<5;++i)
for(j=0;j<i;++j)
a[i][j]*=n;
cout<<endl;
cout<<"左下半三角元素中的值乘以n后输出\n";
for(i=0;i<5;++i)
{for(j=0;j<5;++j)
cout<<a[i][j]<<" ";
cout<<endl;
}
}
#define N 5
int main()
{
int i,j,n;
int a[N][N]={{1,2,3,4,5},{5,4,3,3,1},{1,3,4,7,2},{5,8,1,3,5},{4,7,1,3,9}};
cout<<"input n:";
cin>>n;
for(i=0;i<5;++i)
{for(j=0;j<5;++j)
cout<<a[i][j]<<" ";
cout<<endl;
}
cout<<endl;
for(i=0;i<5;++i)
for(j=0;j<i;++j)
a[i][j]*=n;
cout<<endl;
cout<<"左下半三角元素中的值乘以n后输出\n";
for(i=0;i<5;++i)
{for(j=0;j<5;++j)
cout<<a[i][j]<<" ";
cout<<endl;
}
}
展开全部
一楼可行。我来给个模板,可以对二维数组也可以对二维vector进行操作的。呵呵。
#include <vector>
template <class A, class V>
A& func(A& a, size_t s, const V& v)
{
for (size_t i = 0; i < s; ++i)
for (size_t j = 0; j <= i; ++j)
a[i][j] *= v;
return a;
}
int main()
{
//二维静态数组。
int a[3][3] = {{0, 1, 2}, {3, 4, 5}, {6, 7, 8}};
func(a, 3, int(2));
// 二维vector。
std::vector<std::vector<int> >
av(3, std::vector<int>(3, 1));
func(av, 3, int(2));
// 打印结果代码略。
}
#include <vector>
template <class A, class V>
A& func(A& a, size_t s, const V& v)
{
for (size_t i = 0; i < s; ++i)
for (size_t j = 0; j <= i; ++j)
a[i][j] *= v;
return a;
}
int main()
{
//二维静态数组。
int a[3][3] = {{0, 1, 2}, {3, 4, 5}, {6, 7, 8}};
func(a, 3, int(2));
// 二维vector。
std::vector<std::vector<int> >
av(3, std::vector<int>(3, 1));
func(av, 3, int(2));
// 打印结果代码略。
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询