| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3353 人关注过本帖
标题:在一个n*n的矩阵中从上到下从左往右都是升序,给定一个整数x是否在矩阵中
只看楼主 加入收藏
autok
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2016-12-18
收藏
 问题点数:0 回复次数:2 
在一个n*n的矩阵中从上到下从左往右都是升序,给定一个整数x是否在矩阵中
#include <iostream>
using namespace std;
int a[10][10];
void suanfa(int tr,int tc,int n,int size)//tr行 tc列
{
    int s;//
    if(size==1&&a[tr][tc]==n)
    {
        cout<<tr<<" "<<tc<<endl;
        return;
    }
    else
        return;
    s=size/2;
    cout<<tr<<" "<<tc<<" "<<n<<" "<<s<<endl;
    if(n>=a[tr][tc]&&n<=a[tr+s][tc+s]){//在左上角
       cout<<tr<<" "<<tc<<" "<<n<<" "<<s<<endl;
        suanfa(tr,tc,n,s);
    }
    else
        return;
    if(n>=a[tr][tc+s]&&n<=a[tr+s][tc+size]){//在右上角
         cout<<tr<<" "<<tc<<" "<<n<<" "<<s<<endl;
        suanfa(tr,tc+s,n,s);
    }
    else
        return;
    if(n>=a[tr+s][tc]&&n<=a[tr+size][tc+s]){//在左下角
        cout<<tr<<" "<<tc<<" "<<n<<" "<<s<<endl;
        suanfa(tr,tc+s,n,s);
    }
    else
        return;
    if(n>=a[tr+s][tc+s]&&n<=a[tr+size][tc+size]){//在右下角
        cout<<tr<<" "<<tc<<" "<<n<<" "<<s<<endl;
        suanfa(tr,tc+s,n,s);
    }
    else
        return;

}
int main()
{
    int n,size;
    cin>>n;
    cin>>size;
    for(int i=1;i<=size;i++)
        for(int j=1;j<=size;j++)
            cin>>a[i][j];
    suanfai(1,1,n,size);
    //cout << "Hello world!" << endl;
    return 0;
}
搜索更多相关主题的帖子: include return 
2016-12-18 12:54
autok
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2016-12-18
收藏
得分:0 
程序有错求解
2016-12-18 12:55
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
收藏
得分:0 
回复 2楼 autok
suanfa函数一开始的if条件两个分支都已把函数给掐断了,后面还写那么多做甚???
2017-02-11 15:15
快速回复:在一个n*n的矩阵中从上到下从左往右都是升序,给定一个整数x是否在矩阵 ...
数据加载中...
 
   



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

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