| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 477 人关注过本帖
标题:各位高手,看一下啦,哪里出错了????
取消只看楼主 加入收藏
小亮仔
Rank: 1
来 自:甘肃
等 级:新手上路
帖 子:8
专家分:0
注 册:2009-10-23
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:1 
各位高手,看一下啦,哪里出错了????
输入一个矩阵(比如说4阶的),再从矩阵中选一个数(假如这个数是2行3列的),从原矩阵中取出一个新矩阵(比如说3行3列),把这个数当做新矩阵的第一个数;如果访问过界,则过界的数都为0。
假如一个4阶矩阵:
2 6 3 8
1 5 6 4
2 3 8 7
1 3 2 6
选的是3行3列的8,要取出一个3行4列的矩阵,那么,结果应该是
8 7 0 0
2 6 0 0
0 0 0 0
可是,偶写的这个运行到一半就出问题呀……

#include<stdio.h>
int main()
{
    int r,c,a,h,n;
    int s[][],i,j;
    int *b[4][4];
    int *p;
    printf("输入一个");
    scanf("%d",&n);
    printf("阶矩阵:\n");
   
    for(i=1;i<=n;i++)
        for(j=1;j<=n;j++)
            scanf("%d",&s[i][j]);
    printf("\n输入所选数字的行、列:");
    scanf("%d %d",&r,&c);
    printf("\n输入长、宽:");
    scanf("%d %d",&a,&h);
    printf("\n");
    p=&s[r][c];
    for(i=1;i<=h;i++)
    {
        for(j=1;j<=a;j++)
        {
            if(c+a>n+1)
                if(c+j>n+1)
                    s[c+i][r+h-n-1]=0;
            
           
            b[i][j]=&(*p);

            printf("%d ",*b[i][j]);
            p++;
        

        }
        printf("\n");
        p=p+n-a;
    }
   
    return 0;
}


        


搜索更多相关主题的帖子: 各位 出错 
2009-10-27 18:59
小亮仔
Rank: 1
来 自:甘肃
等 级:新手上路
帖 子:8
专家分:0
注 册:2009-10-23
收藏
得分:0 
回复 2楼 陈小草

谢谢

战斗
2009-10-29 15:23
快速回复:各位高手,看一下啦,哪里出错了????
数据加载中...
 
   



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

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