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])。 展开
 我来答
wchyumo2011
2015-07-06 · TA获得超过2万个赞
知道大有可为答主
回答量:5810
采纳率:79%
帮助的人:2805万
展开全部
#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;
}
Soucula
推荐于2017-07-20 · TA获得超过3091个赞
知道小有建树答主
回答量:744
采纳率:93%
帮助的人:69.9万
展开全部
#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;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式