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.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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...