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
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
#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
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.
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.
Entweder du übergibst einen char*
Tut sie ja: Ein als Funktionsargument angegebenes Array von T wird behandelt, als ob Pointer auf T dortstehen würde. (Die Länge, hier 20, wird ignoriert.)
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!