| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2102 人关注过本帖
标题:有一个整型二维数组,大小为m*n, 找出最大值所在的行和列,以及该最大值。
只看楼主 加入收藏
成欢欢
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2013-4-16
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:2 
有一个整型二维数组,大小为m*n, 找出最大值所在的行和列,以及该最大值。
/*有一个整型二维数组,大小为m*n,
找出最大值所在的行和列,以及该最大值。
此程序要求 :
(1)一个输入函数void inputmatrix(int a[][],int m,int n),
(2) 一个输出函数void outputmatrix(int *p,int m,int n),
(3)用一个函数int max(int *p, int m,int n)
实现最大值的寻找,并在max函数中使用指针解决,
m和n为该函数的形参,m,n用符号常量或者常变量表示,将最大值返回。*/

哪里错啊?怎么改

#include<stdio.h>
int a[3][4];
void inputmatrix()//输入函数
{
int i,j;
printf("空格隔开输入数值:");
for(i=0;i<3;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
}
void outputmatrix(int *p)//输出函数
{
int i,j;
for(i=0;i<3;i++)
{for(j=0;i<4;i++)
if(a[i][j]==*p) printf("%d,%d,%d",a[i][j],i,j);
}
}
void max(int *p)  //实现最大值的寻找
{

int *q;
p=a[0];
for(q=a[0];q<a[0]+12;q++)
{
if(*q>*p) p=q;
}   
}

int main()  //主函数
{
void inputmatrix();    //输入函数
void outputmatrix(int *p);     //输出函数
void max(int *p);  //实现最大值的寻找

int i,j;
int *p;
inputmatrix();   //输入函数
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
printf("%5d",a[i][j]);
printf("\n");
}
max(p);  //实现最大值的寻找
outputmatrix(p);     //输出函数

getch();
return 0;
}
搜索更多相关主题的帖子: 最大值 include 
2013-06-12 21:00
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
收藏
得分:20 
错误的地方我都用红色标记出来了   自己比较吧   主要错误    1、max函数没有返回指针p,所以输出时找不到地址   无法输出
                                                          2、函数参数没有设定好
#include<stdio.h>
void inputmatrix(int a[][4])  //输入函数
{
    int i,j;
    printf("空格隔开输入数值:");
    for(i=0;i<3;i++)
        for(j=0;j<4;j++)
            scanf("%d",&a[i][j]);
}

void outputmatrix(int *p,int a[][4])//输出函数
{
    int i,j;
    for(i=0;i<3;i++)
    {
        for(j=0;i<4;i++)
            if(a[i][j]==*p)
                printf("%d,%d,%d",a[i][j],i,j);
    }
}

int * max(int a[][4])  //实现最大值的寻找
{

    int *q;
    int *p=a[0];
    for(q=a[0];q<a[0]+12;q++)
    {
        if(*q>*p)
            p=q;
    }   
    return p;
}

int main()  //主函数
{
    int a[3][4];
    int i,j;
    int *p;
    inputmatrix(a);   //输入函数
    for(i=0;i<3;i++)
    {
        for(j=0;j<4;j++)
            printf("%5d",a[i][j]);
        printf("\n");
    }
    p=max(a);  //实现最大值的寻找
    outputmatrix(p,a);     //输出函数   
    getchar();
    return 0;
}

三十年河东,三十年河西,莫欺少年穷!
2013-06-19 20:46
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
收藏
得分:0 
补充一下   你的代码风格是在不敢恭维...

三十年河东,三十年河西,莫欺少年穷!
2013-06-19 20:46
快速回复:有一个整型二维数组,大小为m*n, 找出最大值所在的行和列,以及该最大 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.041558 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved