デバッグにお役立てください。それは私にエラー '文字列下付き文字範囲外のエラー'を与えます。C++文字列下付き文字範囲外
プログラムは、挿入ソートアルゴリズムを使用してテキストをソートする必要があります。失敗した
#include<iostream>
#include<string>
using namespace std;
void insertionSort(string &text, int size) {
char temp;
int i;
for(int j=1;j<size;j++)
{
//text.push_back(temp);
temp=text[j];
i=j-1;
while(i>=0 && text[i]>temp)
{
text[i+1]=text[i];
i--;
}
text[i+1]=temp;
}
}
int main()
{
string text="this a just text need to be sorted";
int size = text.length();
insertionSort(text,size);
cout<<text<<endl;
return 0;
}
デバッグアサーション:ここ
は、コードです!
ライン:1441:
式:文字列の添字Iはtext[i+1]=text[j]
text[i+1]=text[i]
に変更することになっ
範囲外。
はこの宿題ですか? –
コードのフォーマットが間違っていて、コードのどの部分が問題の原因であるのかはわかりません。 –
エラーがどこで発生したのかを指摘し、これをより適切にフォーマットしようと努力した場合、私たちの生活を楽にすることができます。 – pmr