21xrx.com
2024-11-08 22:09:33 Friday
登录
文章检索 我的文章 写文章
C++实现回型矩阵
2023-07-10 00:23:34 深夜i     --     --
C++ 实现 回型矩阵

回型矩阵是一种矩阵的排列方式,可以形成一种漂亮的图案。本文介绍了C ++编程语言中如何实现一个回型矩阵。

回型矩阵的定义是一个N x N的矩阵,按顺时针方向由外向内填充数字,如下所示:

1 2 3

8 9 4

7 6 5

实现程序的代码如下:

#include

using namespace std;

void fillMatrix(int matrix[][10], int n)

{

  int x = 0, y = 0;

  int value = 1;

  int round = (n + 1) / 2;

  for (int i = 1; i <= round; i++)

  {

    for (int j = y; j < n - y; j++)

    {

      matrix[x][j] = value++;

    }

    for (int j = x + 1; j < n - x; j++)

    {

      matrix[j][n - y - 1] = value++;

    }

    if (x != n - x - 1)

    {

      for (int j = n - y - 2; j >= y; j--)

      {

        matrix[n - x - 1][j] = value++;

      }

      for (int j = n - x - 2; j > x; j--)

      {

        matrix[j][y] = value++;

      }

    }

    x++;

    y++;

  }

}

void printMatrix(int matrix[][10], int n)

{

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

  {

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

    {

      cout << matrix[i][j] << " ";

    }

    cout << endl;

  }

}

int main()

{

  int matrix[10][10] = { 0 };

  int n;

  cout << "请输入矩阵大小(必须是奇数)n: ";

  cin >> n;

  fillMatrix(matrix, n);

  printMatrix(matrix, n);

  return 0;

}

该程序使用了两个函数:fillMatrix和printMatrix。

fillMatrix函数用于填充矩阵,使用四个嵌套循环,每一轮循环分为四个部分:右侧填充,下侧填充,左侧填充和上侧填充。x和y变量用于跟踪填充的位置。

printMatrix函数用于打印矩阵。

在主函数中,首先要求用户输入矩阵的大小,然后调用fillMatrix函数来创建矩阵,最后使用printMatrix函数将矩阵打印在屏幕上。

在运行程序时,用户需要输入一个奇数N来创建一个NxN的回型矩阵。

回型矩阵是一种美丽和有趣的模式,实现它是一个很好的编程挑战。C ++编程语言的嵌套循环结构和二维数组非常适合这个任务,使得该程序易于编写和阅读。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复