Z字形编排

2024-04-21 17:18
文章标签 编排 字形

本文主要是介绍Z字形编排,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

分三种情况:

1,如果二维数组中的元素matrix[i][j]中纵坐标j是偶数,且i=0或i=7,那么遍历路径在矩阵中的走向就水平向右移动一格;

2,如果二维数组中的元素matrix[i][j]中纵坐标i是奇数,且j=0或j=7,那么遍历路径在矩阵中的走向就垂直向下移动一格;

3,二维数组中的元素matrix[i][j]的纵坐标和i+j是偶数,则遍历路径在矩阵中的走向就是右上角移动一格;否则,若i+j是奇数,则遍历路径中走向向右下角移动一格


代码:


#include<iostream>
#include<iomanip>
using namespace std;


#define SIZE 8


int main()
{
int matrix[SIZE][SIZE] = {0};
int a[SIZE][SIZE] = {0};


int i,j,x,y,value = 0;
int *p;
p = &matrix[0][0];
//初始化矩阵
for(i=0;i<SIZE;i++)
{
*p++ = i;
}


//打印原始矩阵
cout<<"原始矩阵如下:"<<endl;
for(i=0;i<SIZE;i++)
{
for(j=0;j<SIZE;j++)
cout<<setw(4)<<*(*(matrix+i)+j);
cout<<endl;
}


i=0,j=0;
//进行Z字形排列
for(x=0;x<SIZE;x++)
for(y=0;y<SIZE;y++)
{
*(*(a+i)+j) = *(*(matrix+x)+y);
if((i==SIZE-1 || i==0) && j%2==0)
{
j++;
continue;
}
if((j==0 || j==SIZE-1) && i%2 ==1)
{
i++;
continue;
}


if((i+j)%2 == 0)
{
i--;
j++;
}
else if((i+j)%2 == 1)
{
i++;
j--;
}
}
cout<<endl<<"经过Z字形编排后的矩阵如下"<<endl;
for(i=0;i<SIZE;i++)
{
for(j=0;j<SIZE;j++)
cout<<setw(4)<<*(*(a+i)+j);
cout<<endl;
}
return 0;
}

这篇关于Z字形编排的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/923622

相关文章

Canonical Juju 的一个奇怪编排部署

一周前的一个项目扩容出现了异常,进行了操作回滚,未对线上业务造成损失。 现象是这样的:         通过基于 Canonical Juju-GUI 在一组节点上部署了某个组件,在把这组节点添加到集群后,有4个节点上出现了同一组件的2个instance、这4个异常节点中的3个发生了组件配置文件全部丢失的现象。         BD的现场产品支撑粗暴地下结论为:短时间内重复点击了组件部署,导

10.Docker Compose容器编排

文章目录 Compose简介安装和卸载步骤核心概念compose文件两要素 使用步骤Compose常用命令微服务测试本地编码打包编写Dockerfile文件构建镜像 不使用Compose调试使用Compose调试WordPress测试验证增量更新 Compose简介 ​ docker建议我们每一个容器中只运行一个服务,因为docker容器本身占用资源极少,所以最好是将每个服务单独

docker-compose 服务编排及实战(五)

docker-compose docker compose 简介和安装简介安装 docker compose docker compose 快速体验创建SpringBoot 项目自测项目放到容器上测试查看网络 docker compose 简介和安装 简介 官网: https://docs.docker.com/compose/ 背景: 前面我们使用 Docker 的时候,

Docker - 使用 compose 编排服务

入门示例 一般步骤 1、定义Dockerfile,方便迁移到任何地方; 2、编写docker-compose.yml文件; 3、运行docker-compose up启动服务 示例 准备工作:提前下载好镜像: docker pull mysqldocker pull wordpress 需要新建一个空白目录,例如wptest。新建一个docker-compose.yml 1

Swarm、Fleet、Kubernetes、Mesos - 编排工具的对比分析

【编者的话】此篇文章是 《Using Docker》一书的作者 Adrian Mouat 编写,详细对比分析了Swarm、Fleet、K8s以及Mesos的区别。 大部分软件系统是随时间演进的,新旧功能会交替,不断变化的用户需求意味着一个高效的系统必须能够迅速扩展或收缩资源。为了达到接近零宕机的需求,一个单独的数据中心需要自动地将故障转移到预设的备份系统。 在此之上,一些大型企

Docker高级篇之Docker-compose容器编排

文章目录 1. Docker-compse介绍2. Docker-compse下载3. Docker-compse核心概念4. Docker-compse使用案例 1. Docker-compse介绍 Docker-compose时Docker官方的一个开源的项目,负责对Docker容器集群的快速编排。Docker-compose可以管理多个Docker容器组成一个应用,你需要

【介绍下什么是Kubernetes编排系统】

🌈个人主页: 程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进步! 🔎Kubernetes编排系统 🔎Kubernetes(通常缩写为K8s)是一个开源的容器编排系统,用于自动化计算机应用程序的部署、扩展和管理。它由Google设计开发,并

(第六章)专注编排与部署

文章目录 1.编排与部署2.Compose原理:仅用一张图就可以解释 1.编排与部署 如何批量创建、段哦都和管理容器成了制约Docker技术在任何组织内大规模应用的主要障碍,蔻带解决的正式容器的编排与部署问题 Docker优点:提供了一种全新的软件发布机制。 开发者使用Docker镜像作为统一的软件制品载体; 使用Docker容器提供独立的软件运行上下文环境; 使用Dock

力扣--数组6.Z字形变换

思路分析 处理特殊情况: 如果numRows为1,那么字符排列与原字符串相同,无需进行转换,直接返回原字符串。 定义和初始化变量: n:字符串长度。k:一个完整的“V”字形周期长度,计算公式为2 * numRows - 2。a:一个包含numRows个字符串的向量,用于存储每一行的字符。 遍历字符串并填充每行字符: 遍历字符串中的每个字符,通过计算确定字符属于哪一行,然后将该字符添加到对应

Z字形变换 ---- 模拟

题目链接 题目: 分析: 题意如图所示:如果我们按照题意, 真的实现一个矩阵, 这样做的时间和空间复杂度很高, 所以我们可以试试看找规律, 优化一下我们观察他们的下标: 如果找到下标的规律, 那么我们就不用创建矩阵, 就能找到最终结果的下一个字符是什么特殊情况, 当numRows = 1时, d = -1, 不符合实际情况, 所以要单独讨论 代码: class Solution {p