C++编程:请编写一个函数void fun(int tt[M][N],int pp[N]),tt指向一个M行N列的二维数组,求 10
请编写一个函数voidfun(inttt[M][N],intpp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最大元素,并依次放入pp所指一维数组中。二维数...
请编写一个函数void fun(int tt[M][N],int pp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最大元素,并依次放入pp所指一维数组中。二维数组中的元素值在主函数中随机产生(值域范围[1, 9])。
展开
展开全部
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define M 3
#define N 9
void fun(int tt[M][N], int pp[N])
{
int i, j, tmax;
for (i=0; i < N; ++i){
tmax = tt[0][i];
for(j = 1; j < M; ++j){
if (tmax < tt[j][i]){
tmax = tt[j][i];
}
}
pp[i] = tmax;
}
}
int main()
{
int i, j;
int tt[M][N], pp[N];
srand((unsigned)time(NULL));
for (i = 0; i < M; ++i){
for (j = 0; j < N; ++j){
tt[i][j] = rand()%9+1;
}
}
printf ("产生的随机数:\n");
for (i = 0; i < M; ++i){
for (j = 0; j < N; ++j){
printf ("%d ", tt[i][j]);
}
printf ("\n");
}
fun(tt, pp);
printf ("运算之后的结果:\n");
for (i = 0; i < N; ++i){
printf ("%d ", pp[i]);
}
printf ("\n");
return 0;
}
展开全部
#include <stdlib.h>
void fun(int **tt, int pp[], int N, int M)
{
for (int i = 0; i < N; i++)
{
pp[i] = tt[i][0];
for (int j = 1; j < M; j++)
{
pp[i] = (tt[i][j] > pp[i]) ? tt[i][j] : pp[i];
}
}
}
int _tmain(int argc, _TCHAR* argv[])
{
int a[5][5];
int *p[5];
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 5; j++)
{
a[i][j] = rand() % 10;
}
p[i] = a[i];
}
int pp[5];
fun(p, pp, 5, 5);
for (int i = 0; i < 5; i++)
printf("%d ", pp[i]);
getchar();
return 0;
}
void fun(int **tt, int pp[], int N, int M)
{
for (int i = 0; i < N; i++)
{
pp[i] = tt[i][0];
for (int j = 1; j < M; j++)
{
pp[i] = (tt[i][j] > pp[i]) ? tt[i][j] : pp[i];
}
}
}
int _tmain(int argc, _TCHAR* argv[])
{
int a[5][5];
int *p[5];
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 5; j++)
{
a[i][j] = rand() % 10;
}
p[i] = a[i];
}
int pp[5];
fun(p, pp, 5, 5);
for (int i = 0; i < 5; i++)
printf("%d ", pp[i]);
getchar();
return 0;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询