string array?



  • Naja, ich bin der Meinung, wie Querstrahlbeschleuniger + mir fehlt da dideldumdum ein delete..



  • #include <iostream>
    #include <string>
    
    using namespace std;
    
    int main()
    {
    
    	string StringArray[100];
    
    	StringArray[17] = "Helmut Kohl";
    
    	string* DynStringArray = new string[222];
    
    	DynStringArray[88] = "Angela Merkel";
    
    	cout << StringArray[17] << " " << DynStringArray[88] << endl;
    
        delete [] DynStringArray;
    
        return 0;
    }
    

    Zufrieden? 😃



  • Jo, besser, aber das hätte ich auch noch selber hingekriegt. 😉



  • Oh ok^^ Ich war mir nicht sicher, es gibt ja ein paar Leute, die daran gescheitert wären 😃 Aber wenn du da nicht dazu zählst, dann merk ich mir das mal und lasse sowas in Zukunft 😃



  • Fake oder Echt schrieb:

    Oh ok^^ Ich war mir nicht sicher, es gibt ja ein paar Leute, die daran gescheitert wären 😃 Aber wenn du da nicht dazu zählst, dann merk ich mir das mal und lasse sowas in Zukunft 😃

    Das ist jetzt aber nicht dein ernst? - Wenn ich schon sage, dass mir da ein delete fehlt, dann werde ich doch eine Ahnung haben, wo ich das hintuen müsste. 🙄

    EDIT:
    Aber nett gemeint. 😉



  • Dacht ich mir schon FAST. Aber ich habe heute meine sozialen Tag, da dacht ich mir bin ich mal nicht so 😃 Ne also ich hab dir das schon zu getraut, dass du das gerade so hinkriegen könntest 😃 Naja aber genug davon jetzt hast dus ja 😃



  • Danke schonmal...
    Wenn man jetzt sowas hat:

    int AnzahlStrings = 0;
    
    	cout << "Wieviele Woerter wollen Sie eingeben?" << endl;
    	cin >> AnzahlStrings;
    	string *Wort = new string[AnzahlStrings];
    	cout << "Geben sie die Woerter ein: " << endl;
    
    	for (int i=AnzahlStrings; i>AnzahlStrings; i--)
    	{
    		cout << i+1 << ": ";
    		cin >> Wort[i];
    		cout << endl;
    	}
    

    Warum geht das nicht?



  • Die for-Schleife ist ja auch völlig daneben. Da greifst du auf unitialisierten Speicher zu. Machs besser so.

    for (int i=0; i<AnzahlStrings; ++i)
        {
            cout << i+1 << ": ";
            cin >> Wort[i];
            cout << endl;
        }
    

    oder noch besser

    int AnzahlStrings = 0;
        cout << "Wieviele Woerter wollen Sie eingeben?" << endl;
        cin >> AnzahlStrings;     vector<string> Wort;
        cout << "Geben sie die Woerter ein: " << endl;
        for (int i=0; i<AnzahlStrings; ++i)
        {
            cout << i+1 << ": ";
            Wort.push_back(string());
            cin >> Wort.back();
            cout << endl;
        }
    


  • Danke, das habe ich jetzt auch gemerkt 🤡
    Kann man die Strings jetzt auch in einer zufälluigen Reihenfolge irgendwie ausgeben lassen?



  • Joar Stichwort Modulo^^



  • random_shuffle


Anmelden zum Antworten