3d矩阵元素组合

时间:2017-08-01 13:55:25

标签: c arrays pointers matrix

我得到了这个学校的小项目。我有一个3d矩阵(char *** valueArray),它包含信息(函数名称,函数参数和参数值)

e.g。我有3个功能

int fnc1(int a,long b,long c);

void fnc2(char a, int b);

void fnc3();

我的矩阵将保存函数编号,参数和参数值(每个参数有3个值:最小值,0,最大值)。如果我想要关于fnc1,参数2,值3的信息,我将使用valueArray[1][2][3]等等,基本上第一个数字表示它是什么函数,第二个是什么参数,第三个是值(min-0) -max)。

任务:对于每个功能,显示使用3个参数值创建的所有可能组合。

这样的事情:

for fnc1,
amin-bmin-cmin/
amin-bmin-c0/
amin-bmin-cmax/
amin-b0-cmin/
amin-b0-c0/
amin-b0-cmax
........./amax-bmax-cmax

索引将是这样的

111 121 131 //new row// 
111 121 132 // new row//
111 121 133 //new row//
111 122 131 //new row//
111 122 132 //new row//
111 122 133//new row//
.....

下面的3-for-3-print事物适用于具有3个参数的功能(因为我对每个值使用打印)但是我需要它来为每个功能工作,无论函数具有多少参数为每个案例制作一个开关都不是一个选项,因为我不知道一个函数会有多少参数(教师可能会设置一个带有10个参数的函数来测试我)。

for(i=0;i<3;i++)
  for(j=0;j<3;j++)
    for(k=0;k<3;k++)
      printf("%s %s %s\n",valueArray[0][0][i],valueArray[0][1][j],valueArray[0][2][k]);

任何人都可以给我一些提示,我该怎么做?

0 个答案:

没有答案