请帮忙看一看
#include<stdio.h>#include <iostream>
#include <string.h>
#define M 2
#define N 2
template<typename T>
void print(T a,int m, int n)
{
printf("c[%d][%d] is: \n", M, N);
for(int i = 0; i <m; i++)
{
for(int j = 0; j < n; j++)
{
printf ("%d\t",a[i][j] ); }
printf("\n"); }
}
}
void main()
{
int a[2]={-1,-1};
int b[2]={-1,1};
int c[2]={1,-1};
int d[2]={1,1};
int k;
int f[2][2];
for(k=0;k<2;k++)
{f[0][k]=a[k];
f[1][k]=a[k];}
print( f,M, N);
for( k=0;k<2;k++)
{f[0][k]=a[k];
f[1][k]=b[k];}
print( f,M, N);
for( k=0;k<2;k++)
{f[0][k]=a[k];
f[1][k]=c[k];}
print( f,M, N);
for( k=0;k<2;k++)
{f[0][k]=a[k];
f[1][k]=d[k];}
print( f,M, N);
for( k=0;k<2;k++)
{f[0][k]=b[k];
f[1][k]=a[k];}
print( f,M, N);
for( k=0;k<2;k++)
{f[0][k]=b[k];
f[1][k]=b[k];}
print( f,M, N);
for( k=0;k<2;k++)
{f[0][k]=b[k];
f[1][k]=c[k];}
print( f,M, N);
for( k=0;k<2;k++)
{f[0][k]=b[k];
f[1][k]=d[k];}
print( f,M, N);
for( k=0;k<2;k++)
{f[0][k]=c[k];
f[1][k]=a[k];}
print( f,M, N);for( k=0;k<2;k++)
{f[0][k]=c[k];
f[1][k]=b[k];}
print( f,M, N);for( k=0;k<2;k++)
{f[0][k]=c[k];
f[1][k]=c[k];}
print( f,M, N);
for( k=0;k<2;k++)
{f[0][k]=c[k];
f[1][k]=d[k];}
print( f,M, N);for( k=0;k<2;k++)
{f[0][k]=d[k];
f[1][k]=a[k];}
print( f,M, N);for( k=0;k<2;k++)
{f[0][k]=d[k];
f[1][k]=b[k];}
print( f,M, N);for( k=0;k<2;k++)
{f[0][k]=d[k];
f[1][k]=c[k];}
print( f,M, N);for( k=0;k<2;k++)
{f[0][k]=d[k];
f[1][k]=d[k];}
print( f,M, N);
}
我现在想把程序简洁化,怎么用指针循环简化,同时我还想把这16个二维数组存入一个空间,以便调用任意的一个二维数组,请大家帮帮忙,我很困扰,不知道怎么解决,希望大神们尽快给回复,谢谢大家啦!
[ 本帖最后由 风的飞扬0102 于 2014-4-22 16:30 编辑 ]