首页 > 编程语言 >螺旋方阵C++解法

螺旋方阵C++解法

时间:2024-10-14 16:19:39浏览次数:10  
标签:arr ++ while C++ -- int && 方阵 解法

#include <iostream>

#include <vector>

using namespace std;

#include<iomanip>

int n;

int main()

{

    cin >> n;

    vector<vector<int>> arr(n, vector<int>(n, 0));

    int x = 0, y = 0, s = 1;

    while (s <= n * n)

    {

        while (y < n && arr[x][y] == 0)

        {

            arr[x][y++] = s++;

        }

        y--; x++;

        while (x < n && arr[x][y] == 0)

        {

            arr[x++][y] = s++;

        }

        x--; y--;

        while (y >= 0 && arr[x][y] == 0)

        {

            arr[x][y--] = s++;

        }

        y++; x--;

        while (x >= 0 && arr[x][y] == 0)

        {

            arr[x--][y] = s++;

        }

        x++; y++;

    }

    for (int u = 0; u < n; u++)

    {

        for (int i = 0; i < n; i++)

        {

            cout << setw(3) << arr[u][i];

        }

        cout << endl;

    }

    return 0;

}

标签:arr,++,while,C++,--,int,&&,方阵,解法
From: https://blog.csdn.net/yagma_tunita/article/details/142908107

相关文章

  • Qt/C++编写的mqtt调试助手使用说明
    一、使用说明第一步,选择协议前缀,可选mqtt://、mqtts://、ws://、wss://四种,带s结尾的是走ssl通信,ws表示走websocket通信。一般选默认的mqtt://就好。第二步,填写服务所在主机地址,可以是IP地址也可以是网址,只要真实存在的就行。第三步,填写通信所用端口号,mqtt默认端口号是1883,以......
  • C++可用的websocket库
    库说明优势劣势是否免费商用QtWebSocketsQt框架中的WebSocket模块。不需要额外集成第三方库;支持异步处理,适合在Qt应用程序中处理并发WebSocket请求。性能较差付费libwebsockets轻量级的C库,用于开发WebSocket服务器和客户端。高性能,低内存占用,支持多种平台,包......
  • 慧通教育C++测试题 103667--103673(5题)
    103667.求最大值难度:1登录//103667.求最大值难度:1#include<bits/stdc++.h>usingnamespacestd;intans=0,n,m,q,a[105][105];intmain(){ cin>>n>>m>>q; for(inti=1;i<=n;i++){ for(intj=1;j<=m;j++){ cin>>a[i][j]; } } int......
  • 【C++学习】核心编程之类和对象(上)黑马学习笔记—超详细
    目录(一)封装1.1封装的意义:意义一:在设计类的时候,属性和行为写在一起,表现事物意义二:类在设计时,可以把属性和行为放在不同的权限下,加以控制1.2struct和class区别 1.3成员属性设置为私有(二)对象的初始化和清理2.1构造函数和析构函数2.2构造函数的分类及调用两种分类......
  • 实验1 现代c++编程初体验
    任务1:task1.cpp//现代C++标准库、算法库体验//本例用到以下内容://1.字符串string,动态数组容器类vector、迭代器//2.算法库:反转元素次序、旋转元素//3.函数模板、const引用作为形参#include<iostream>#include<string>#include<vector>#include<algorithm>......
  • C++中传指针和传引用的区别,各自的使用场景是什么
    在C++中,传指针和传引用都是将变量传递给函数的两种方式,但它们在语法、行为和使用场景上有一些区别。理解它们的区别和各自的适用场景是编写高效和安全代码的重要组成部分。1.传指针(PassbyPointer)指针是一种变量,它存储另一个变量的内存地址。在函数参数中使用指针,意味着将实......
  • C++_list的使用及其实现
    ✨✨欢迎大家来到小伞的大讲堂✨✨......
  • 用C++算出水仙花数
     水仙花数,也称阿姆斯特朗数,是指一个n位数,它的每个位上的字母的n次幂之和等于它本身。例如,对于三位数的水仙花数,它等于其百位数字的三次方加上十位数字的三次方再加上个位数字的三次方。用C++代码表示如图:输出结果为在过程中应注意:①if语句中的赋值操作=应该改为比较操作=......
  • C++中的数据类型
    C++中的数据类型分为四大类:基本数据类型、派生数据类型、用户定义的数据类型和空类型。每类都有特定的用途和特性。1. 基本数据类型(Built-inDataTypes)这是C++中最基本的数据类型,包含整数、浮点数、字符和布尔类型。整数类型(IntegerTypes):int:标准整数类型。shortint......
  • C++中unsigned符号使用
    unsigned 是一种修饰符,用来表示无符号的整数类型。无符号类型只能存储非负数,因此与有符号类型相比,它能够表示更大的正整数范围。使用 unsigned 的常见场景在表示只有非负数的场景中,如计数器、索引、内存地址等。提高正整数的表示范围,比如当需要存储比有符号类型更大的正数......