30/09/2018, 23:53

Mong mọi người tìm giúp lỗi sai trong bài tìm xâu nhị phân độ dài n có k bit 1 liên tiếp

Mong mọi người chỉ giúp em chô sai ở bài này với ạ.Hãy liệt kê tất cả các xâu nhị phân có độ dài

Cartoon Kitin viết 01:53 ngày 01/10/2018

mik nghĩ bạn sai ở hàm kiểm tra ý!!!
// Hãy liet kê tat ca các xâu nhi phân có do dài n sao cho moi xâu nhi phân có duy nhat mot dãy k bít 1 liên tiep
#include
using namespace std;
void khoitao(int a[100],int n){
for(int i=0;i<n;i++){
a[i]=0;
}
}
void in(int a[100],int n){
for(int i=0;i<n;i++){
cout<<a[i];
}
cout<<endl;
}
int kt(int a[100],int n,int k){
int dem=0;
for(int i=0;i<n;i++){
if(a[i]==1&&a[i+1]==1) dem++;
}
if(dem==k-1) return 1;
return 0;
}
void next(int a[100],int n){
for(int i=n-1;i>=0;i–){
if(a[i]==0){
a[i]=1;
for(int k=i+1;k<n;k++){
a[k]=0;
}
break;
}
}
}
int final(int a[100],int n){
int dem=0;
for(int i=0;i<n;i++){
if(a[i]==1) dem++;
}
if(dem==n) return 1;
return 0;
}
void nhiphan(int a[100],int n,int k){
while(final(a,n)==0){
next(a,n);
if(kt(a,n,k)==1) in(a,n);
}
}
int main(){
int n,k;
int a[100];
cout<<"nhap n,k lan luot la: ";
cin>>n>>k;
khoitao(a,n);
nhiphan(a,n,k);
}
Đây là code của mik , nếu có gì sai sót mong mọi người thông cảm cx như đóng góp ạ

Bài liên quan
0