标题:在一个n*n的矩阵中从上到下从左往右都是升序,给定一个整数x是否在矩阵中
取消只看楼主
autok
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2016-12-18
 问题点数:0 回复次数:1 
在一个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



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-472551-1-1.html




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

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