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;
}
20200921--同行列对角线的格(奥赛一本通P89 2 二维数组)的更多相关文章
- ytu 1050:写一个函数,使给定的一个二维数组(3×3)转置,即行列互换(水题)
1050: 写一个函数,使给定的一个二维数组(3×3)转置,即行列互换 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 154 Solved: 112[ ...
- C Tricks(十七)—— 对角线元素的屏蔽、二维数组(矩阵)的遍历
1. 对角线元素的屏蔽 使用 if + continue 实现对对角线元素的屏蔽 for u in range(n): for v in range(n): if u == v: continue . ...
- java例题_29 二维数组问题,并输出对角线之和
1 /*29 [程序 29 求矩阵对角线之和] 2 题目:求一个 3*3 矩阵对角线元素之和 3 程序分析:利用双重 for 循环控制输入二维数组,再将 a[i][i]累加后输出. 4 */ 5 6 ...
- Java练习小题_求一个3*3矩阵对角线元素之和,矩阵的数据用行的形式输入到计算机中 程序分析:利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。
要求说明: 题目:求一个3*3矩阵对角线元素之和,矩阵的数据用行的形式输入到计算机中 程序分析:利用双重for循环控制输入二维数组,再将 a[i][i] 累加后输出. 实现思路: [二维数组]相关知识 ...
- 【Java】获取二维数组行列长度
二维数组int array[][] = new int[3][3]; 行长度:array.length 列长度:array[i].length
- java 二维数组的行列长度
在 java 中,其实只有一维数组,而二维数组是在一维数组中嵌套实现的.比如 int[][] a = {{},{},{},{}} 要取行数和某一行的列数可以 : int rowLen = a.leng ...
- Python获取二维数组的行列数
import numpy as np x = np.array([[1,2,5],[2,3,5],[3,4,5],[2,3,6]]) # 输出数组的行和列数 print x.shape # (4, 3 ...
- js求n行m列二维数组对角线元素之和的思路
window.onload=function(){ var arr = [[1,2,4],[5,6,7],[8,9,10]]; var i =3,j=3; var result1=0,r ...
- C++入门经典-例6.2-将二维数组进行行列对换
1:一维数组的初始化有两种,一种是单个逐一赋值,一种是使用聚合方式赋值.聚合方式的例子如下: int a[3]={1,2,3}; int a[]={1,2,3};//编译器能够获得数组元素的个数 in ...
- C#二位数组 数组矩阵对角线之和
二维数组: public static void Main(string[] args) { int[,] a = new int[3, 3]; Random rom = new Random(); ...
随机推荐
- python 删除大于超过一定时间文件
import os from datetime import datetime, timedelta path = "." if __name__ == '__main__': f ...
- wsl2 的安装与使用
wsl2 简介 wsl2 是 window 自家做的虚拟机,如果初次接触,可以建立的理解为 vmware.只不过他是 window 公司自己开发的,所以从兼容性上来讲,会更好一些. 我个人选择使用 w ...
- php curl方法封装
/** * @desc 获取设备的监控项实时值 * * @return url请求地址 * @return method 请求方法(POST,GET,PUT)等 * @return postfiel ...
- eKuiper 1.8.0 发布:零代码实现图像/视频流的实时 AI 推理
LF Edge eKuiper 是 Golang 实现的轻量级物联网边缘分析.流式处理开源软件,可以运行在各类资源受限的边缘设备上.eKuiper 的主要目标是在边缘端提供一个流媒体软件框架(类似于 ...
- SpringBoot整合MyBatis-Plus详细使用方法
SpringBoot整合mp 一.添加依赖pom.xml <dependency> <groupId>mysql</groupId> <artifactId& ...
- [Oracle19C ASM管理] ASM的网络服务
启用了ASM集群以后,网络管理放给了grid用户.grid用户的$ORACLE_HOME/network/admin有网络配置文件,而oracle用户下的网络配置文件则不存在了. [grid@cent ...
- UML各种图实践题
1. 用状态图描述一部电梯的运行
- 线性斜压模式LBM学习&安装实录
本文基本参照了LBM的用户手册进行. 环境:Ubuntu 18.04LTS (Windows Subsystem Linux) 编译器:gfortran 7.5.0 安装包: lapack-3.9.0 ...
- 【广告】UEOI 招聘减章
欢迎加入UEOI! 招聘目标:>=25人 各位++rp.
- Drozer实践之sieve
在模拟器中打开drozer agent 启动连接drozer adb connect 127.0.0.1:xxxxx //adb连接设备,只有模拟器才需要这一步,不同模拟器端口不同 adb forwa ...