随机打印NXN的拉丁方阵

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
#include<Windows.h>
#include<stdio.h>

#define N 5
void rowladingmatrix(int a1[N][N] )
{
	int b1[N] = { 0 }, c1[N][N] = { 0 };
	int j,n=0;
	for (int i = 0; i < N; i++)
	{
		j = a1[0][i];
		for (int k = 0; k < N; k++)
		{
			if (i + 1 == a1[0][k])	
				n = k;
			for (int m = 0; m < N; m++)
			{
				b1[m] = a1[0][n++%N];
			}

		}
		for (int p = 1; p < N; p++)
		{
			a1[p][b1[p]-1] = j;
			c1[p][b1[p] - 1] =j;
		}					
	}
	
}

void main()
{

	int a[N][N] = { { 1, 5, 2, 4, 3 } };
	srand((unsigned)time(NULL));
	for (int i = 0; i < N; i++)
	{
	AAA:a[0][i] = rand() % N+1;
		for (int j = 0; j < i; j++)
		{
			if (a[0][i] == a[0][j])
				goto AAA;
		}
	}
	  
	rowladingmatrix(a);
	for (int i = 0; i <N ; i++)
	{
		for (int j = 0; j < N; j++)
		{
			printf("%4d", a[i][j]);
		}
		printf("\n");
	}
	system("pause");
}

《随机打印NXN的拉丁方阵》

《随机打印NXN的拉丁方阵》

    原文作者:拉丁方阵问题
    原文地址: https://blog.csdn.net/QQfather/article/details/26093343
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞