ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

21:二维数组右上左下遍历

2021-06-04 20:04:29  阅读:201  来源: 互联网

标签:include 21 int 整数 右上 遍历 左下 col row


21:二维数组右上左下遍历

总时间限制: 
1000ms
内存限制: 
65536kB
描述

给定一个row行col列的整数数组array,要求从array[0][0]元素开始,按从左上到右下的对角线顺序遍历整个数组。

输入
输入的第一行上有两个整数,依次为row和col。
余下有row行,每行包含col个整数,构成一个二维整数数组。
(注:输入的row和col保证0 < row < 100, 0 < col < 100)
输出
按遍历顺序输出每个整数。每个整数占一行。
样例输入
3 4
1 2 4 7
3 5 8 10
6 9 11 12
样例输出
1
2
3
4
5
6
7
8
9
10
11
12

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cmath>
 4 #include<cstring>
 5 using namespace std;
 6 int tot=1;
 7 int ans=2;
 8 int now=1;// 1向下 2向上 
 9 int a[101][101];
10 int hang=3,lie=2;
11 int main()
12 {
13     int n,m;
14     int i=1,j=1;//坐标 
15     cin>>n>>m;
16     for(int i=1;i<=n;i++)
17     {
18         for(int j=1;j<=m;j++)
19         cin>>a[i][j];
20     }
21     while(i*j!=n*m)
22     {
23         if(lie==m+2)
24         break;
25         cout<<a[i][j]<<endl;
26         i++;
27         j--;
28         if(j==0||i==n+1)
29         {
30             i=1;
31             j=lie;
32             lie++;
33         }
34         
35     }
36     i=2;
37     j=m;
38     while(i*j!=n*m)
39     {
40         if(hang==n+2)
41         break;
42         cout<<a[i][j]<<endl;
43         i++;
44         j--;
45         if(j==0||i==n+1)
46         {
47             j=m;
48             i=hang;
49             hang++;
50         }
51     }
52     cout<<a[n][m];
53     return 0;
54 }

 

标签:include,21,int,整数,右上,遍历,左下,col,row
来源: https://blog.51cto.com/u_15239936/2864895

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有