0
Why too many charecters are printed ?!
Guys i have this problem plz help me #include <iostream> using namespace std; int main() { string a; cin>>a; char b=a[0]; for(int i=1; i<=b; i++){ cout<<a[0]; } return 0; } Suppose that i entered 567 , then i expect to print number 5 , 5 times . While it prints it too many times , why?
2 Antworten
+ 2
when in " i<=b " i is compared with b , b value is casted to int type which is 53(ascii value) for character '5'.
you should rather look into doing something like the following ,
int main() {
string a;
cin>>a;
string c(1,a[0]);
int b=stoi(c);
for(int i=1; i<=b; i++){
cout<<a[0];
}
return 0;
}
string constructor converts the above char a[0] to string first using "string c(1, a[0])
now you have a string "5" you can convert it to integer using "stoi" function.
There are many other ways to convert character to string if above is confusing , so take a look at the article for better understanding of above method and various other ways.
https://www.google.com/url?sa=t&source=web&rct=j&url=https://www.geeksforgeeks.org/how-to-convert-a-single-character-to-string-in-cpp/amp/&ved=2ahUKEwiIpcCMkPPuAhWfxTgGHW6lB4gQFjAAegQIBBAD&usg=AOvVaw1cQJIG9c_IEOhcI4-Mdvm5&cf=1
+ 1
Abhay Thank you so much for making me aware of this point😊👍