• LoopMatrix


    #include <stdio.h>
    #include <stdlib.h>
    
    #define ALPHA_NUM 26
    const char AlphaTable[ALPHA_NUM]={'A','B','C','D','E','F','G','H','I','J','K','L','M','N',
                            'O','P','Q','R','S','T','U','V','W','X','Y','Z'};
    
    void PrintMatrix(const int** pMatrix,int m,int n);
    void GetLoopMatrix(int** pMatrix,int m,int n);
    void ResetMatrix(int** pMatrix,int m,int n);
    
    int main()
    {
        int i;
        int m,n;    //回环矩阵阶数
        int **pMatrix=NULL;  //回环矩阵指针数组
        scanf("%d%d",&m,&n);
    
        pMatrix=(int*)malloc(sizeof(int*)*m);   //一维数组指针
        for(i=0;i<m;i++)
            *(pMatrix+i)=(int*)malloc(sizeof(int)*n);
    
        ResetMatrix(pMatrix,m,n);
        GetLoopMatrix(pMatrix,m,n);
        PrintMatrix(pMatrix,m,n);
        return 0;
    }
    
    void ResetMatrix(int** pMatrix,int m,int n)
    {
        int i,j;
        for(i=0;i<m;i++)
            for(j=0;j<n;j++)
            *(*(pMatrix+i)+j)=0;
    }
    
    void GetLoopMatrix(int** pMatrix,int m,int n)
    {
        int i,x,y,xDir,yDir,cnt;
        x=y=0;
        xDir=1;
        yDir=0;
        cnt=m*n;
        for(i=0;i<cnt;i++)
        {
            *(*(pMatrix+y)+x)=AlphaTable[i%ALPHA_NUM];
            if(x+xDir<0||y+yDir<0||x+xDir==n||y+yDir==m||(*(*(pMatrix+y+yDir)+x+xDir))!=0)    //边界处理情况
            {
                if(xDir)
                {
                    yDir=xDir;
                    xDir=0;
                }
                else
                {
                    xDir=-yDir;
                    yDir=0;
                }
            }
            x=x+xDir;
            y=y+yDir;
        }
    }
    
    void PrintMatrix(const int** pMatrix,int m,int n)
    {
        int i,j;
        for(i=0;i<m;i++)
        {
            for(j=0;j<n;j++)
            {
                printf("%c",*(*(pMatrix+i)+j));
            }
            printf("
    ");
        }
    }
  • 相关阅读:
    Django REST framework的解析器与渲染器
    python基础之 数据格式化
    REST framework 之 分页
    Django REST framework 之 认证 权限 限制
    DjangoRestFrameWork 版本控制
    DjangoRESTFrameWork中的视图
    浏览器跨域问题
    初识REST
    vue之生命周期
    vue组件
  • 原文地址:https://www.cnblogs.com/Karma-wjc/p/4444651.html
Copyright © 2020-2023  润新知