【ccf- csp201412-2】z字形扫描

 1 //ccf-Z字形扫描
 2 #include<iostream>
 3 #include<cmath>
 4 using namespace std;
 5 #define N 500
 6 int main()
 7 {
 8     unsigned n, i, j;cin >> n;
 9     //n = 4;
10     //unsigned a[N][N] = { { 1, 5, 3, 9 },{ 3, 7 ,5, 6 },{ 9, 4, 6, 4 },{ 7 ,3, 1, 3 } };
11     unsigned a[N][N];
12     for (i = 0; i < n; i++)
13         for (j = 0; j < n; j++)
14             cin >> a[i][j];
15 
16     i = 0; j = 0;
17     int k = 0, m;
18     cout << a[0][0] << ' ';
19     while (k <= 2 * n - 2)
20     {
21         ++k;
22         if (k < n)
23         {
24             if (k % 2)
25             {
26                 j++;
27                 i = 0;
28                 while (i < k)
29                 {
30                     cout << a[i][j] << ' ';
31                     j--;
32                     i++;
33                 }
34             }
35             else
36             {
37                 i++;
38                 //j = 0;
39                 while (j < k)
40                 {
41                     cout << a[i][j] << ' ';
42                     i--;
43                     j++;
44                 }
45             }
46             cout << a[i][j] << ' ';
47         }
48         else
49         {
50             if (k % 2)
51             {
52                 m = 2 * n - k;
53                 //j = n - 1;
54                 //i++;
55                 j = n;
56                 while (--m)
57                 {
58                     
59                     i++;
60                     j--;
61                     cout << a[i][j] << ' ';
62                 }
63             }
64             else
65             {
66                 m = 2 * n - k;
67                 i = n;
68                 while (--m)
69                 {
70                     j++;
71                     i--;
72                     cout << a[i][j] << ' ';
73                 }
74             }
75         }
76     }
77     return 0;
78 }

 注意i,j输出后的值即可~

转载于:https://www.cnblogs.com/yuelien/p/6369016.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值