01/10/2018, 15:37
Cách dừng quay lui khi in được cấu hình đầu tiên
#include <iostream>
using namespace std;
int kiemtra(int a[],int m)
{
int tong=0;
for (int i=0;i<m;i++)
{
tong=tong+a[i];
}
return tong;
}
int dem=0;
int Sinh1(int a[],int i,int m,int s)
{
for (int j=0;j<=9;j++)
{
a[i]=j;
if (i==m-1)
{
if(kiemtra(a,m)==s)
{
for (int k=0;k<m;k++)
{
cout << a[k];
}
}
}
else
{
Sinh1(a,i+1,m,s);
}
}
}
int main()
{
int m,s;
cin >> m >> s;
int a[m+1];
Sinh1(a,0,m,s);
cout << " ";
return 0;
}
Bài liên quan
Thêm return là xong. Đó là cấu trúc của 1 chương trình đệ quy cơ bản.
Nếu muốn thoát hẳn đệ quy, thêm
exit(0)
vào chỗ return trong hàm đệ quy kia (điều này dẫn đến thoát luôn chương trình hiện tại, hay nói cách khác là cho code dừng hẳn luôn).Mình đã thử dùng return. Nhưng vẫn ra đủ cấu hình . ( Mình cũng thử với break rồi >:)
Dùng exit thì được :v. @@ Mình cảm ơn
Nhưng nếu mình muốn thực hiên 2 hàm như hàm ssinh trên thì exit(0) ko cho thực hiện hàm 2 vì nó thoát hết chương trình đúng ko ạ?
break
phải dùng với vòng lặp mới hiệu quả, nếu không compiler sẽ báo lỗi.Đúng vậy.