• also> funktion soll gschrieben werden, die einen eintrag aus dem array loescht

    array zb abacde
    loeschen von c

    void remove (char [], char)

    main

    char str [20]
    cin >> str
    char x
    cin >> x
    remove (str, x)
    cout >> str << endl


    nur schnell bitte

    Wer FU sagt, muss auch T sagen

  • #include <iostream>
    using namespace std;


    void remove (char str[20], x};
    {

    }


    int main () {
    char text[20];
    cout << "Geben Sie den Text ein: " >> endl;
    cin >> text;

    char weg;
    cout << "Welcher Buchstabe soll geloescht werden?";
    cin >> weg;

    remove (text, weg);
    cout << "Jetzt ist das " << text << endl;

    return 0
    }


    so schauts aus und die remove funktion muss man ausfuellen

    Wer FU sagt, muss auch T sagen

  • Sorry, auch in aller Eile müssen die folgenden 2-3 Minuten drin sein:
    1. Ordentliches Subject
    2. Gültiger C++ Code (EDIT: In deinem inzwischen geposteten Beitrag ist es besser, aber auch nicht wirklich: ; fehlen, } und ) vertauscht etc.).
    3. Was funktioniert nicht/Fehlermeldungen/Erklärung, wo du hängst

    Was für dich nur 2-3 Minuten sind, sind für die, die dir helfen wollen, sicher mehr Minuten, bis man deinen Sauhaufen entwirrt und interpretiert hat. Ohne Garantie, dass man dir damit wirklich hilft, weil die Wahrscheinlichkeit hoch ist, dass man das Problem falsch verstanden hat.

    Also: Wo ist dein konkretes Problem? Die Implementierung der remove Funktion?

    Da hab ma schon mal ein Problem: Wie bekommt ein Aufrufer mit, wie das geänderte Array aussieht? Entweder du übergibst einen char* oder du lieferst auch ein char[] zurück.

    Grundlegende Idee: Du gehst das Array durch und vergleichst jeden Buchstaben mit deinem zweiten Parameter. Wenn sie nicht gleich sind, hat sich die Sache für diesen Schleifendurchlauf erledigt. Wenn sie gleich sind, hast du mehrere Möglichkeiten, je nach Wunsch der Angabe:

    a. Element nur rauslöschen, hinterlässt Lücken bei der Ausgabe (EDIT: oder die Ausgabefunktion gibt das Array Zeichen für Zeichen aus und überspringt Leerzeichen einfach).
    b. Element rauslöschen und gleich alle folgenden Elemente um eine Position nach links verschieben
    c. Element rauslöschen, nächste Iteration usw. und erst am Ende die Lücken korrigieren.

    Dipper dipper dii dipper dii dipper dii duuu

  • Also ein Zeichen sollte aus einem char-array gelöscht werden? Das erste vorkommen? Such solange, du das erste vorkommen findest und schieb alle danach eine position nach vorne im array ohne extra den char zu löschen, da er sowieso überschrieben wird.

    640K ought to be enough for anybody. :eek2:

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!