komischer fehler ...



  • hab folgenden komischen laufzeitfehler:

    wenn ich

    string text
    

    mache, bekomm ich laufzeitfehler, ohne nicht...
    deklarier das am anfang der main() ...

    sonst sind nur noch andre string initialisiert .. die funktionieren auch ...
    sonst hat das programm keine andren kompopnenet, GAR NICHTS, hab extra mal alles rausgemacht ... ich raff des net ...



  • #include <string>
    using namespace std;



  • hab mich 😉
    bin zwar net gut im programmieren, aber net dumm ^^ sry



  • dann zeig mehr code, so kann dir keiner was sagen.



  • hier ...

    string text;
    
        int zahl=45;
        string buchstabe[zahl];
    
        buchstabe[1]="a";
        buchstabe[2]="b";
        buchstabe[3]="c";
        buchstabe[4]="d";
        buchstabe[5]="e";
        buchstabe[6]="f";
        buchstabe[7]="g";
        buchstabe[8]="h";
        buchstabe[9]="i";
        buchstabe[10]="j";
        buchstabe[11]="k";
        buchstabe[12]="l";
        buchstabe[13]="m";
        buchstabe[14]="n";
        buchstabe[15]="o";
        buchstabe[16]="p";
        buchstabe[17]="q";
        buchstabe[18]="r";
        buchstabe[19]="s";
        buchstabe[20]="t";
        buchstabe[21]="u";
        buchstabe[22]="v";
        buchstabe[23]="w";
        buchstabe[24]="x";
        buchstabe[25]="y";
        buchstabe[26]="z";
        buchstabe[27]="1";
        buchstabe[28]="2";
        buchstabe[29]="3";
        buchstabe[30]="4";
        buchstabe[31]="5";
        buchstabe[32]="6";
        buchstabe[33]="7";
        buchstabe[34]="8";
        buchstabe[35]="9";
        buchstabe[36]="0";
        buchstabe[37]="?";
        buchstabe[38]="!";
        buchstabe[39]="-";
        buchstabe[40]="+";
        buchstabe[41]="*";
        buchstabe[42]="/";
        buchstabe[43]="=";
        buchstabe[44]=";";
        buchstabe[45]=" ";
    
        int x,k=1;
        cin>>text;
    
        for(int i=1;i<=10;++i)
        {
            x=text.find(buchstabe[k]);
            text.insert(x,buchstabe[k-45]);
    
        }     
    
        cout<<endl<<text;
    


  • int zahl=45;
    string buchstabe[zahl];

    wie das gehen soll is mir n rätsel.. aber buchstabe[45] geht von buchstabe[0] - buchstabe[44] , wenn du auf das 45. zugreift gibts n speicherzugriffsfehler, dein laufzeitfehler



  • Außerdem ist es nur unnötiger Overhead wenn du für jeden einzelnen Buchstaben einen ganzen String anlegst! Da würde *ein* String für alle Buchstaben reichen bzw. wenns ein Array sein soll dann ein Array von char-Variablen!

    MfG SideWinder



  • cin>>text;
    
        y=text.length();
    
        for(int i=1;i<=y;++i)
        {
            x=text.find(buchstabe[k]);
            text.erase(x,1);
            text.insert(x,buchstabe[45-k]);
    
            cout<<endl<<text;
    
            if(x==-1)
                    ++k;
    
        }
    

    warum schließt sich die console gleich immer ?!
    hab auch diverse cin.get(); u.ä. eingefügt .. aber nach der string eingabe schließt es sich immer ...



  • Siehe dazu in die FAQ.

    MfG SideWinder



  • ja.. shcon klar .. normalerweise hab ich das problem ja auch nie ...
    nur bei dem programm funzt einfach keiner lsg die ich kenne ...



  • @hase
    Dann hast du sehr wahrscheinlich noch etwas im Eingabepuffer stehen, d. h. der muss erstmal geleert werden.


Anmelden zum Antworten