• 20200921--同行列对角线的格(奥赛一本通P89 2 二维数组)


    输入三个自然数n,i,j(1<=i<=n,1<=j<=n),输出在一个n*n格的棋盘中(行列均从1开始编号),与格子(i,j)同行,同列,同一对角线的所有格子的位置。

    如:n=4,i=2,j=3表示了棋盘中的第二行第三列的格子,如下图:

    输入样例:n=4 x=2 y=3

    输出样例: 

    (2,1)  (2,2)  (2,3)  (2,4)

    (1,3)  (2,3)  (3,3)  (4,4)

    (4,1)  (2,3)  (3,2)  (1,4)

    (1,2)  (2,3)  (3,3)

    思路:先输出同行的格式位置,再输出同列格式位置;对角线(右上到左下)的规律是横+竖之和相等,如4+1=2+3=3+2=1+4,左上到右下则是横-竖相等。

    #include <bits/stdc++.h>

    using namespace std;

    int n,x,y;//n 代表棋盘大小,x和y分别代表横向格子位置和竖向格子位置

    int main()

    {

      cout<<"请输入棋盘的格数n,横竖都为n"<<endl; 

      cin>>n;

      cout<<"请输入初始的x和y值,如(2,3)代表第二行第三列"<<endl; 

      cin>>x>>y;

      for(int i=1;i<=n;i++)

        {
          cout<<"("<<x<<","<<i<<")";

        }

      cout<<endl;

      for(int j=1;j<=n;j++)
        {
          cout<<"("<<j<<","<<y<<")";

        }

      cout<<endl;

       for(int j=1;j<=n;j++)
        { for(int i=1;i<=n;i++)

           {if(i+j==x+y)

             {  cout<<"("<<i<<","<<j<<")"; }

           }

        }

      cout<<endl;

      return 0;

    }

  • 相关阅读:
    桂林印象
    快变
    近期的事
    *C#中使用ref和out一点认识!*
    *在框架集页面放置TreeView控件时页面跳转的问题解决*
    *无法找到脚本库的问题*
    *Ajax.Net快速入门*
    *网页过期*
    *Prototype开发笔记*
    *正则表达式*
  • 原文地址:https://www.cnblogs.com/whcsrj/p/13694652.html
Copyright © 2020-2023  润新知