一个算法设计问题
问一个c语言算法问题:
问题描述是这样的:
有一个n×m的数组,以A[n][m]表示,现在在A数组的每一行里面依次取出一个元素,组成一个包含n个元素的新的一维数组,这样总共应该有(m的n次方)个这样的一维数组,请问在c语言里面设计一个什么样算法能实现把所有的一维数组打印输出?
ps:使用者可以自定义数组A的维数n、m;设计的算法不考虑算法的效率(当然效率更高更好),只要能实现就行。
举个例子:
A[n][m]=
[1 2 3
1 2 3
1 2 3
1 2 3]
那么算法结果就是输出81(3的4次方)个一维数组:
1 1 1 1
1 1 1 2
1 1 1 3
1 1 2 1
1 1 2 2
1 1 2 3
1 1 3 1
1 1 3 2
1 1 3 3
1 2 1 1
1 2 1 2
1 2 1 3
.......
.......
.......
3 3 3 3
由于对数据结构各种算法不熟悉,我想了两天,一直都没想出来,欢迎各位大侠热烈讨论。