fork download
  1. #include <iostream>
  2. #include <fstream>
  3. #include <string>
  4. #include <cstring>
  5. #include <iomanip>
  6. #include <vector>
  7. using namespace std;
  8.  
  9. int main() {
  10. string input_string;
  11. //char char_string[20];
  12. int counter=0;
  13.  
  14. cout << "type in some input text:$" << endl;
  15. cin >> /*setw(19) >>*/ input_string;
  16. cout <<"sizeof(input_string)="<<sizeof(input_string)<<endl;
  17. cout <<"input_string.size()="<<input_string.size()<<endl;
  18.  
  19. //strncpy(char_string, input_string.c_str(), sizeof(char_string));
  20. //char_string[sizeof(char_string)-1]=0;
  21. //cout << strlen(char_string)<<endl;
  22. //if (strlen(char_string)<input_string.size())
  23. // cout << "Input string was cut: only the first "<<strlen(char_string)<<" chars ar considered"<<endl;
  24.  
  25. vector<char>char_string(input_string.begin(), input_string.end());
  26.  
  27. for (int i = 0; i < input_string.size(); i++) // instead of sizeof(input_string)
  28. {
  29. if(char_string[i]=='a' || char_string[i]=='b'){
  30. switch(char_string[i])
  31. {
  32. case 'a' :
  33. counter++;
  34. break;
  35. case 'b' :
  36. if(counter==1){
  37. counter=0;
  38. }
  39. break;
  40. }
  41. }
  42. else {
  43. counter=0;
  44. break;
  45. }
  46.  
  47. }
  48.  
  49. if(counter>=2){
  50. cout << "String accepted" << endl;
  51. }
  52. else{
  53. cout << "String not accepted" << endl;
  54. }
  55. }
Success #stdin #stdout 0s 4224KB
stdin
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaab
stdout
type in some input text:$
sizeof(input_string)=32
input_string.size()=34
String accepted