首页 > 代码库 > C++生成zigzag矩阵
C++生成zigzag矩阵
// test_max.cpp : 定义控制台应用程序的入口点。
#include "stdafx.h"
#include <iostream>
using namespace std;
#define N 8
int main()
{
int** A=(int **)malloc(N*sizeof(int*));
for(int i=0;i<N;i++)
{
A[i]=(int*)malloc(N*sizeof(int));
}
int s=0;
int temp=0;
for(int i=0;i<N;i++)
for(int j=0;j<N;j++)
{
if(i+j<=N-1)
{
s=i+j;
temp=s*(s+1)/2;
if(s%2==0)
{
A[i][j]=temp+j;
}
else
{
A[i][j]=temp-j+s;
}
}
else
{
s=N-1-i+N-1-j;
temp=s*(s+1)/2;
if(s%2==0)
{
A[i][j]=N*N-1-temp-(N-1-j);
}
else
{
A[i][j]=N*N-1-temp-(N-1-i);
}
}
}
for(int i=0;i<N;i++)
{
for(int j=0;j<N;j++)
{
cout<<A[i][j]<<" ";
}
cout<<endl;
}
system("pause");
return 0;
}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。