Mehrere chars hintereinander



  • Hallo leute,

    übe grad für ne klausur.
    wir sollen ne funktion schreiben,wo man nen int-wert a und ein char übergibt.
    Dieser char soll dann a-mal hintereinader geschrieben werden.
    Den Datentyp string darf man net verwenden.(Was für mich die sache nicht unbedingt leichter machen würde)

    Also hier nochma n beispiel:

    schreiben(int a, char x){
    ....
    }
    main()
    ...
    cout<<schreiben(10,'&')<<endl;
    

    Fenster
    &&&&&&&&&&

    Ich habs so probiert:

    char schreiben(int a, char x)
    {
    	int i;
    	for(i=0;i<a;i++)
    	    return x;
    }
    

    Klappt aber überhaupt nicht.
    Achso printf oder so, die ,glaube ich, in funktionen verwendet werden können,
    sollen auch nicht benutzt werden.

    Ich komm irgendwie nicht drauf.
    Kann mir bitte jemand helfen
    danke euch
    🙂



  • Bei return wird die funktion ja auch abgebrochen Oo
    Du musst schon ein array zurückgeben, wenn du keinen string benutzen darfst

    char* schreiben(size_t a, char c)
    {
        char *p = new char[a+1];
        for(size_t t(0);t!=a;++t)
            p[t]=c;
        p[a]='\0';
        return p;
    }
    
    int main()
    {
        char* text(schreiben(10,'a'));
        std::cout<<text;
        delete [] text;
    }
    

    Aber ich glaube kaum, dass so ein Konstrukt irgendetwas beibringen kann. Das Nachprogrammieren der STL ist nie eine gute Idee, wenn man schon C++ benutzt und nicht C... Und wenn du die Grundlagen nicht beherrscht, denke ich, dass dir mein Code eh nicht viel bringen wird.



  • ökjg schrieb:

    Dieser char soll dann a-mal hintereinader geschrieben werden.

    So, wie du die Funktion in deinem Beispiel benutzt, sieht es aber danach aus, dass die Funktion den char a-mal zurückgeben soll. Das ist etwas völlig anderes.

    Sicher, dass die Funktion nicht einfach a-mal selbst cout benutzen soll?



  • Den Datentyp string darf man net verwenden.(Was für mich die sache nicht unbedingt leichter machen würde)

    Für's spätere Programmiererleben:
    Mit std::string::size() bekommt man die Länge eines std::string's. Dann braucht man nichtmal eine Längeneingabe des char-arrays, kewl odda?


Anmelden zum Antworten