내가 의미 입력 문자열을위한 회문 확인을하려고 오전 인스턴스를 던지는 후에 호출 종료합니다. ]; " 셀 수 없다. 문자와 숫자 만 비교합니다. 여기 은 out_of_range
내 프로그램입니다 : ... .. 잘못되는 부분을 잘 모릅니다 내가 범위 에러 나왔을 끝에int main()
{
string input;
getline(cin,input);
if(isPalindrome(input))
cout << "it is palindrome phase, or words." << endl;
else
cout << "it's not palindrome phase, or words." << endl;
return 0;
}
bool isPalindrome(string input)
{
string TemStore_1; //only letter, number will be store in here.
string TemStore_2; //storing TemStore_1 data other way around.
for(int i=0;i<input.length();i++)
{
if((input.at(i)<58) && (input.at(i)>47)) //catching number from 0-9
TemStore_1+=input.at(i);
if((input.at(i))<123 && (input.at(i)>96)) //catching letter from a-z
TemStore_1+=input.at(i);
if((input.at(i)<91) && (input.at(i)>64)) //catching letter from A-Z, and change it to a-z
{
input.at(i)+=32;
TemStore_1+=input.at(i);
}
}
for(int j=TemStore_1.length();j>-1;j--) //backwards writing the TemStore_1 into TEmStore_2
{
TemStore_2+=TemStore_1.at(j);
}
if(TemStore_1==TemStore_2)
return true;
else
return false;
}
내가 얻을 수있는대로 오류를 게시 할 수 있습니까? –
아마도 (i) 또는 at (j)에서 액세스해야하는 항목에 액세스하고 있습니까? –
디버거에서이 코드를 실행하여 예외를 던진 내용과 범위를 벗어난 이유를 찾아서 범위를 벗어난 이유를 파악한 다음 디버거가 어떻게되었는지 알아냅니다. 우리는 불필요한 존재입니다. – chris