Schulaufgabe



  • wie greif ich auf die einzelnen buchstaben eines wortes zu ...

    // Einfach die eingabe in nem Array speichern.
    char wort[];
    // und dann auf die einzelnen Elemente (buchstaben) zugreifen.
    grm = wort[0]; // für ersten buchstaben
    grm = wort[10]; // für neunten buchstaben 
    // usw.
    

    Also schnapp dir nen Tut und les über Arrays nach oder std::string (Zeichenketten) , die bieten dir ne größere Funktionalität, aber nen chararray sollte es auch tun.



  • Hallo

    effe_eichelt schrieb:

    grm = wort[10]; // für neunten buchstaben 
    // usw.
    

    wort[10] steht für den 11. Buchstaben und nicht für den 9.

    chrische



  • mantiz schrieb:

    Wenn Du die Aufgabenstellung richtig liest, dann bemerkst Du auch, dass die einzelnen Wörter des Satzes hier nicht sortiert, sondern getauscht werden sollen, so dass jedes Wort für sich genommen von hinten nach vorne gelesen das ursprüngliche Wort ergibt, die Reihenfolge der Wörter soll aber erhalten bleiben. Ich wüsste nicht, was Dir da das Sortierproblem aus Aufgabe 1 helfen sollte.

    Klar kann das helfen - die Buchstaben jedes Wortes sollen in sich sortiert werden, also mußt du nur den Satz durchgehen und auf jedes Wort deinen Algorithmus aus Aufgabe 1 anwenden (da nimmst du halt ' ' anstelle des '\0' als Endemarke für das Wort).

    PS: Wenn du zu faul bist, einen eigenen Sortier-Algorithmus zu schreiben, nimm doch qsort() (in C) bzw. sort() (in C++).



  • na das eben nicht in prinzip soll bei aufgabe 2:

    - 1. nix sortiert werden ...
    - nur die wörter in umgedrehter reihenfolge , aber die wortreihenfolge im satz soll erhalten bleiben ...

    also ein wort umdrehen sollte wohl darüber geschehen :

    void _reverse(const std::string& s)
    {
        for(std::string::size_type i = s.length(); i > 0;)
            std::cout << s[--i];
    }
    

    ich versteh bloß den sinn nicht ... ich weiss leider noch nicht mal wie man eine
    eingabe eines wortes tätigt .... grml geschweige denn wie ich auf die strings die befehle anwende ... habe leider von c++ nicht soviel ahnung ...

    auch wird hier soweit ich sehe kein array verwendet ...

    also in tp würde ich das folgender maßen denn machen , könnte mir das jemand in c++ syntax dann umwandeln ?
    die Umkehrung der Wörter meine ich jetze ...

    wort:array of string
    
    for i=1 bis j="abbruch benutzer"
            readln(wort[i])
    end.
    
    while i>=1 do
            writeln (wort[i])
            i:=i-1
    end.
    

    mfg
    c++_dau



  • Kennst du dich mit Strings auch in TP nicht aus? Ein String ist ein Array, darum ist deine deklaration nicht gültig.



  • Mal so eine Frage: Ihr habt das was ihr dafür benötigt doch sicher vorher durchgenommen?

    Ich weiß jetzt nicht genau, ob ihr nur C oder auch C++ benutzen dürft?

    In C:
    Einlesen: scanf(...)
    Ausgeben: printf(...)

    In C++:
    Einlesen: cin >> Var;
    Ausgeben: cout << "Blub\n";

    Wenn du dann endlich dein Wort in deiner Variable hast lässt du es einfach rückwarts ausgeben das erledigst du dann einfach mit einer Forschleife dir rückwärts läuft und am Ende anfängt.

    Auch wenn deine Situation jetzt vielleicht nicht so toll für dich ist: Was bringt es dir, wenn wir die Aufgabe für dich lösen und du dann nächste Woche mi der nächsten ankommst?

    Google wird dir helfen

    Gruß

    EDIT: Wenn du dann an einer Stelle ein Problem hast werden wir dir auch gerne hlefen, aber ganze Aufgaben zu lösen ist hier nicht so gern gesehen 😉



  • nimm als algorithmus den bubblesort, der ist zwar tierisch ineffizient, aber am einfachsten ;-).



  • wort[10] steht für den 11. Buchstaben und nicht für den 9.

    aber auch nur theortisch, weil das array nur 10 "eche" elemente besitzt



  • Und für den wievielten Buchstaben steht wort[10] in der Praxis (also mal völlig untheoretisch)? 🤡



  • für den 11.!!!!!!!!!!!!!!
    Ich glaube hahaha!! Hat das mit den Array noch net so ganz verstanden...
    ein array das mit 11 Elementen deklariert wurden hat einen index von 0-10
    vielleicht meinte er ja das mit dem theoretisch 😃


Anmelden zum Antworten