-2

I got a task from my teacher. I try some code but it confuses me a lot. So here's my code :

#include <iostream>
using namespace std;

char inputChecker [1000];
string source = "10110111000111001101110";
string detected;

int main(){
    cout <<"Input:";
    cin >> inputChecker;
    for (int i=0;i<source.size();i++){
        if (source[i]==inputChecker[0]){
            cout <<"Data " <<inputChecker <<"is exist" <<endl; 
        }
        else if (source[i]==inputChecker[i]){
            cout <<"Data " <<inputChecker <<" isn't exist'" <<endl;
        }
    }
}

So ,my expectation output is ,when i input 10,it will result "Data 10 is exist". Without looping. I think it needed 2 kind of looping but i dont know where to loop.

My expectation output :

Input : 10
Data 10 is exist

Input : 25
Data 25 isn't exist

Thanks in advance :))

marc_s
  • 732,580
  • 175
  • 1,330
  • 1,459

1 Answers1

1

No need for loop

#include <iostream>
using namespace std;

int main() {
    string source = "10110111000111001101110";
    string input;
    cin >> input;
    if (source.find(input) != string::npos)
        cout << input << " exists\n";
    else
        cout << input <<" doesn't exist\n";
}

Have a look at other useful std::string methods like find_first_of, find_last_of, etc.

Shreevardhan
  • 12,233
  • 3
  • 36
  • 50