Zum Inhalt springen

Problem mit Zeichenkette umgedreht ausgeben


Empfohlene Beiträge

Geschrieben

hallo zusammen ! Ich habe hier einen Quelltext, den ich nicht ganz verstehe. Das Programm dreht eine Zeichenkette um und gibt sie also umgekehrt aus, z.B. aus Hallo wird ollaH.

#include "stdafx.h"

using namespace System;

String^ umdrehen (String^ zkette);

String^ umdrehen (String^ zkette) {

String ^tempkette;

tempkette = zkette;

for (Int32 schleife=zkette->Length-1;schleife>=0;schleife--) {

tempkette=tempkette->Remove(zkette->Length-schleife-1,1);

tempkette=tempkette->Insert(zkette->Length-schleife-1,Convert::ToString(zkette[schleife]));

}

return tempkette;

}

int main (array<System::String ^> ^args)

{

String^ eingabe;

Console::Write("Geben sie eine Zeichenkette ein");

eingabe=Console::ReadLine();

eingabe = umdrehen(eingabe);

Console::WriteLine("Die umgekehrte Eingabe {0}",eingabe);

return 0;

}

Was ich jetzt hier nicht kapiere ist dieser Ausschnitt:

tempkette=tempkette->Remove(zkette->Length-schleife-1

Was bedeutet denn hier dieses zkette->Length-schleife-1 ? Stimmt das mit dem - vor schleife ? Ist das ein sinnbildliches Minus oder nur ein Verbindungsstrich ?

DANKE !!

Geschrieben

Was ich jetzt hier nicht kapiere ist dieser Ausschnitt:

tempkette=tempkette->Remove(zkette->Length-schleife-1

Was bedeutet denn hier dieses zkette->Length-schleife-1 ? Stimmt das mit dem - vor schleife ? Ist das ein sinnbildliches Minus oder nur ein Verbindungsstrich ?

ich find das zwar unnötig kompliziert, aber theoretisch gehst du einfach nur den String rückwärts durch, schneidest einen hinteren Buchstaben ab und fügst ihn vorn wieder ran.

Geschrieben

Naja, kompliziert ist nur gut, wenns Vorteile (Performance o.Ä.) bringt. Das Simpelste wäre hier sicher einfach den String(-Array) rückwärts durchzuiterieren.

Aber ich würde glaub ich eher auf Bitebene arbeiten.

Geschrieben
hat jemand nun evtl. eine Erklärung für diese Aufgabe ?:confused:

Was gibt's denn da groß zu erklären? Spiel doch einfach mal in Gedanken durch, welche Werte schleife annimmt, und welche dadurch zkette->Length-schleife-1 hat.

Geschrieben

ok, nehmen wir mal an, das Wort hat 8 Buchstaben. Laut der for Schleife wird diese 7 mal aufgerufen (schleife=zkette->Length-1)

dann bei tempkette=tempkette->Remove(zkette->Length-schleife-1,1)

müsste so gerechnet werden: 8-7-1 das ist 0. demzufolge müsste das erste Zeichen (hier also das H) gelöscht werden.

Geschrieben
ok, nehmen wir mal an, das Wort hat 8 Buchstaben. Laut der for Schleife wird diese 7 mal aufgerufen

7, 6, 5, 4, 3, 2, 1, 0

7 oder 8 Mal? :rolleyes:

Geschrieben
kann man das nicht einfacher gestalten ?

Natürlich, aber du hast ja im 2. Post geschrieben, dass du die "komplizierten Texte" verstehen willst. ;)

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...