Sinh xâu nhị phân kế tiếp

Đề bài: Cho xâu nhị phân X[], nhiệm vụ của bạn là hãy đưa ra xâu nhị phân tiếp theo của X[].

Input Ouput
010101 010110
111111 000000

A/c xem giúp e sai chỗ nào mà không thể ra được output ạ?em cám ơn

 #include<iostream>
#include<string>
using namespace std;
string s;
void next () {
    int i;
           for(i=s.length()-1;i>=0;i--) {
               if (s[i]==0) {
                   s[i]=1;
                   break;
               }
           }
           for(int j=i+1;j<s.length();j++) {
               s[j]=0;
           }
}

int display() {
    for(int i=0;i<s.length();i++) {
        cout<<s[i];
    }
}

int main() {
    int T;
    cin>>T;
    while(T--) {
        //string str;
        cin>>s;
        next();
        display();
         }
}

Phương thức display kìa. Phải là void chứ không phải là int nha!

3 Likes

A post was merged into an existing topic: Topic lưu trữ các post off-topic - version 3

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?