| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 381 人关注过本帖
标题:定义二维数组int array[4][4],程序运行时候却出现了array[4 ][4],难道不是 ...
只看楼主 加入收藏
馨馨泡沫
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2014-12-14
结帖率:100%
收藏
 问题点数:0 回复次数:1 
定义二维数组int array[4][4],程序运行时候却出现了array[4 ][4],难道不是最大是array[3][3]么?
下面的程序是求矩阵鞍点的程序。矩阵A的鞍点是一个位置(i,j),在该位置上的元素是第i行上的最大数,第j列上的最小数。一个矩阵A也可能没有鞍点。
我定义一个4维方阵,首先在int array[n][n]中令n=4,说明是一个四行四列的矩阵。
但是在引用的时候,元素不是应该从array[0][0]到array[3][3]么?
我在下面的区域上,已经令j<n=4了,但是调试时候发现,j竟然有等于4的情况发生,这到底是为什么呢?
程序代码:
for(j=0;j<n;j++)//列m已经确定,比较每一行找到最小
        {
            if(array[j][m]<array[k][m]);
            {
                k=j;
            }
        } 


如果我给出矩阵如下:
1 7 4 1
4 8 3 6
1 6 1 2
0 7 8 9
那么鞍点的位置应该是array[2][1]才对,对应着数字6,即第三行第二列
但是我的程序运行结果变成了array[3][3],请问这段程序到底错在哪里呢?谢谢!
程序代码:
#include <stdio.h>
int main()
{
    int i,j,n,m,k;//循环变量i,j。数组大小变量n
    int flag;//找到鞍点的标志位
    scanf("%d",&n);
    int array[n][n];//定义n维数组
    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        {
            scanf("%d",&array[i][j]);//初始化数组
        }
    }
    for(i=0;i<n;i++)
    {
        m=0;//假设第i行第0列数字为最大
        for(j=1;j<n;j++)
        {
            if(array[i][j]>array[i][m])
            {
                m=j;
            }
        }
         k=i;
        for(j=0;j<n;j++)//列m已经确定,比较每一行找到最小
        {
            if(array[j][m]<array[k][m]);
            {
                k=j;
            }
        }
        if(i==k)
        {
            flag=1;
            break;
        }
        else
        {
            flag=0;
        }
    }
    if(flag==1)
    {
        printf("%d %d",k,m);
    }
    else
    {
        printf("NO");
    }
    return 0;
}
搜索更多相关主题的帖子: 元素 
2015-01-17 10:17
馨馨泡沫
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2014-12-14
收藏
得分:0 
回复 楼主 馨馨泡沫
第一个问题我已经找到了答案,应该令j<n-1,这样当j等于3的时候,判断j<n-1不成立了,j++不会进行,j就不会变成4了。这里实在是我考虑不周全
这样的情况下,我给出的例子也能够成功验证了
2015-01-17 13:50
快速回复:定义二维数组int array[4][4],程序运行时候却出现了array[4 ][4],难道 ...
数据加载中...
 
   



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

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