首页 > 其他分享 >23:二维数组回形遍历

23:二维数组回形遍历

时间:2023-04-09 19:01:29浏览次数:40  
标签:遍历 r1 r2 23 int 数组 回形 c1 row

描述

给定一个row行col列的整数数组array,要求从array[0][0]元素开始,按回形从外向内顺时针顺序遍历整个数组。如图所示:

输入

输入的第一行上有两个整数,依次为row和col。

余下有row行,每行包含col个整数,构成一个二维整数数组。
(注:输入的row和col保证0 < row < 100, 0 < col < 100)

输出

按遍历顺序输出每个整数。每个整数占一行。样例输入

4 4
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7
样例输出
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
题意
将数组按回形从外向内顺时针顺序输出
思路
从初始位置开始,我们从左往右开始输出,直到检测此时数组的内容为0。
从1给予的初始位置开始,我们从上往下开始输出,直到检测此时数组的内容为0
从2给予的初始位置开始,我们从右往左开始输出,直到检测此时数组的内容为0
从3给予的初始位置开始,我们从下往上开始输出,直到检测此时数组的内容为0
以此循环
代码
#include<bits/stdc++.h>
using namespace std;
int main(){

     int r,c,a[110][110],x,y,r1,r2,c1,c2;
     cin>>r>>c;
     for(int i=0;i<r;i++){
         for(int j=0;j<c;j++){
              cin>>a[i][j];//输入数组
           }
     }
     r1=0;r2=r-1;c1=0;c2=c-1;
     while(r1<=r2 && c1<=c2){
          for(int j=c1;j<=c2;j++){
               cout<<a[r1][j]<<endl;//行,从左到右输出
          }r1++;
          for(int i=r1+1;i<=r2;i++){
               cout<<a[i][c2]<<endl;//列,从上到下输出
          }c2--;
          if(r1!=r2){
               for(int j=c2-1;j>=c1;j--){
                    cout<<a[r2][j]<<endl;//行,返回,从左到右输出
               }r2--;
          }
          if(c1!=c2){
               for(int i=r2-1;i>=r1+1;i--){
                    cout<<a[i][c1]<<endl;//列,返回,从下到上输出
               }c1++;
          }

     }
}

标签:遍历,r1,r2,23,int,数组,回形,c1,row
From: https://www.cnblogs.com/yyk666666/p/17300810.html

相关文章

  • 二叉树层序遍历和之字遍历
    1.用一个队列记录当前层的节点,然后一个个取出,取出的同时将取出节点的儿子节点加入到队列中。2.之字遍历则需要一个标志为将行进行翻转ArrayList<Integer>(ArrayList<Integer>())res;flag=true;//实现奇数行翻转,偶数行不翻转Queuetemp;temp.offer(head)while(temp!=nul......
  • 2023年4月9日
    执行学习复习数据库相关部分,数据库设计是重点要讲清楚你这个系统,功能模块功能模块有一条他说,新增的用户除了删除其他的权限都有,这里找见,搞明白,修改一下,修改成可以定义的,就是选择了什么角色,他只能干什么,比如项目经理,他只可以创建项目,没有权限创建接口GPT一个项目中如何确......
  • JavaWeb-24课-filter-2023-04-09
    Servlet类,没有乱码处理packagecom.feijian.servlet;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjava.io.IOException;public......
  • 14.6二叉树的层序遍历实战
    function.h////Createdby93757on2023/3/21.//#ifndefINC_1_TREE_FUNCTION_H#defineINC_1_TREE_FUNCTION_H#include<stdio.h>#include<stdlib.h>typedefcharBiElemType;typedefstructBiTNode{BiElemTypec;//c就是书籍上的datastru......
  • “科大国创杯”2023 年安徽省青少年信息学科普日活动 简要题解
    老年退役选手感受单调队列力量。初中组没有实现,如果有问题欢迎爆d我。小学组T1grade直接累加即可。不需要按百分比算(也就是别/100),那样可能会出现一些浮点数误差。T2order暴力枚举$t$就可以了T3string答案即为$cnt4+cnt5-cnt20$。注意到对于一个数,我们只关心其个位和十位......
  • 【230409PH-1】如左图所示,两个相同的容器内装有质量相等的不同液体,则等高的a、b两点的
    ......
  • element-ui按需使用-2023年
    element-ui按需引入报错Error:Cannotfindmodule‘babel-preset-es2015‘版本需要更新了下载babelnpmi@babel/preset-env-D 因为是使用es6编译,所以在babel.config.js中写成module.exports={presets:['@vue/cli-plugin-babel/preset',["@babel/preset-e......
  • Crossing Rivers uva12230
    https://www.luogu.com.cn/problem/UVA12230期望的线性性质设初始答案A,为全走陆地的时间D,则每次输入时去河的长度L,加上渡河期望时间2*L/v#include<iostream>#include<cstring>#include<algorithm>#include<set>usingnamespacestd;intn,D;signedmain(){ in......
  • 23.04.06_为博客设置https
    title:为博客设置https协议categories: -博客优化date:2023-04-06url_dir:Blog_optimizationurl_name:setting_https博客优化内容http协议的网站总是显示不安全,为了开启小绿锁,在这里准备部署https协议。我的博客是hexo架构,部署在阿里云上的。在阿里云首页中选择产......
  • JavaWeb-JSP-JSTL c foreach -2023-04-09
    <%@taglibprefix="c"uri="http://java.sun.com/jsp/jstl/core"%><%@pageimport="java.util.ArrayList"%><%@pagecontentType="text/html;charset=UTF-8"language="java"%><html>&l......