c++ string subscript out of range

Bitte um Hilfe bei der Fehlerbehebung. Es gibt mir eine Fehlermeldung "string index out of range error".

Muss das Programm zum Sortieren von text unter Verwendung der insertion-sort-Algorithmus.

Hier ist der code:

#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;
}

debug assertion Failed!

Linie:1441:

Ausdruck: string subscript out of range

Ich soll geändert text[i+1]=text[j] zu text[i+1]=text[i];

  • ist dieses Hausaufgaben?
  • Dein code ist schlecht formatiert, und Sie nicht angeben, welcher Teil des Codes das problem verursacht.
  • Sie könnte unser Leben viel einfacher, wenn Sie darauf hingewiesen, wo der Fehler aufgetreten ist und sich die Mühe gemacht, zu formatieren, dies besser.
  • Wo bekommen Sie diese Fehlermeldung? Wie auch immer ... die Fehlermeldung sagt alles, du bist außerhalb der Zeichenfolge.
  • nur die überarbeitung der Materialien, die Vorbereitung auf Prüfungen
InformationsquelleAutor mydreamadsl | 2012-04-15
Schreibe einen Kommentar