我想将数组传递给递归函数,但我需要保留所有数组
输出 :
1 0 0 0 0
1 2 0 0 0
1 2 3 0 0
1 2 3 0 0
1 2 3 0 0
当我返回上一步时,我想使用数组:1 2 0 0 0
第二次返回:1 0 0 0 0
不是这个:1 2 3 0 0
我的目标是看到这样的输出
1 0 0 0 0
1 2 0 0 0
1 2 3 0 0
1 2 0 0 0
1 0 0 0 0
.
#include<iostream>
using namespace std;
int a[100];
void go (int a[100],int x)
{
a[x]=x;
for(int i=1;i<=5;i++)cout<<a[i]<<" ";cout<<endl;
if(x==3)return;
go(a,x+1);
for(int i=1;i<=5;i++)cout<<a[i]<<" ";cout<<endl;
}
main()
{
go(a,1);
}
它仅使用 1 个数组:/ 我需要它来创建另一个数组“a”,当它返回上一步时不使用最后一个数组,而是使用该步骤中记住的数组
请帮忙 :(