遇到一道zigzag地填充二维数组的函数题。懒得做图了,画一个吧。
虽然给的图是n×n,但题目描述是要填1~n*m。看到网上几乎都是n×n的题目,所以发出来吧。
主要思路是用一个flag变量来控制转折处的方向。
#include <iostream>
using namespace std;
void zigzag(int a[100][100], int m, int n)
{
int i, j, k;
int flag = 1;//第一步向右填
int count1 = 0;
a[0][0] = 1;
if (n == 1)
{
for (i = 1; i < m; ++i)
{
a[i][0] = i + 1;
}
return;
}
i