Zum Inhalt springen

jugiii

Mitglieder
  • Gesamte Inhalte

    17
  • Benutzer seit

  • Letzter Besuch

  1. das ist ja echt kompliziert. kann man das nicht einfacher gestalten ?
  2. 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.
  3. hat jemand nun evtl. eine Erklärung für diese Aufgabe ?:confused:
  4. find ich auch kompliziert, aber so steht es in meinem Lehrheft. Ich will ja auch gerne die komplizierten Texte verstehen
  5. 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 !!
  6. 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 !!
  7. Nein, jetzt müsste es eigentlich passen: ref struct listenelement { String ^daten; listenelement ^next; }; listenelement ^einfuegen(String ^datenneu, listenelement ^listenende) { listenende->next = gcnew listenelement; listenende = listenende->next; listenende->daten=datenneu; return listenende; } void ausgeben(listenelement ^listenanfang) { listenelement ^hilfsHandle; hilfsHandle = listenanfang; Console::WriteLine("{0}",hilfsHandle->daten); while (hilfsHandle->next != nullptr) { hilfsHandle = hilfsHandle->next; Console::WriteLine("{0}",hilfsHandle->daten) ; } } int main(array<System::String ^> ^args) { listenelement ^listenanfang; listenelement ^listenende; listenanfang = gcnew listenelement; listenanfang->daten="Element 0"; listenende=listenanfang; for (Int32 schleife=1;schleife<3;schleife++) listenende = einfuegen("Element "+schleife,listenende); ausgeben(listenanfang); return 0; }
  8. ref struct listenelement { String ^daten; listenelement ^next; }; listenelement ^einfuegen(String ^datenneu, listenelement ^listenende) { listenelement ^hilfsHandle; hilfsHandle = listenende; hilfsHandle->next = gcnew listenelement; hilfsHandle = hilfsHandle->next; hilfsHandle->daten=datenneu; return hilfsHandle; } void ausgeben(listenelement ^listenanfang) { listenelement ^hilfsHandle; hilfsHandle = listenanfang; Console::WriteLine("{0}",hilfsHandle->daten); while (hilfsHandle->next != nullptr) { hilfsHandle = hilfsHandle->next; Console::WriteLine("{0}",hilfsHandle->daten) ; } } int main(array<System::String ^> ^args) { listenelement ^listenanfang; listenelement ^listenende; listenanfang = gcnew listenelement; listenanfang->daten="Element 0"; listenende=listenanfang; if (listenende->next == nullptr) { for (Int32 schleife=0;schleife<3;schleife++) listenende->next = einfuegen("Element "+schleife,listenende); } ausgeben(listenanfang); return 0; } jetzt korrekt ?
  9. stimmt. muss ich dann nochmals überarbeiten
  10. hallo zusammen ! ich habe selbst mal versucht die Aufgabe zu lösen. die Aufgaben waren ja, bei der einfach verketteten Liste diese so neu zu gestalten, dass ein listenende erstellt wird in einem eigenen handle. Das Listenende soll nach jedem Einfügen ermittelt und an die Main Funktion zurückgegeben werden. Als Argument soll man beim Einfügen nicht den listenanfang sondern listenende übergeben. Könnt ihr mal schauen, ob meins semantisch korrekt ist ? : #include "stdafx.h" using namespace System; ref struct listenelement { String ^daten; listenelement ^next; }; listenelement ^einfuegen (String ^neu, listenelement ^listenende) { listenelement ^hilfshandle; hilfshandle=listenende; while (hilfshandle->next != nullptr) hilfshandle=hilfshandle->next; hilfshandle->next = gcnew listenelement; hilfshandle = hilfshandle->next; hilfshandle->daten=neu; return hilfshandle; } void ausgeben(listenelement ^listenanfang) { listenelement ^hilfshandle; hilfshandle = listenanfang; Console::WriteLine("erstes Element: {0}",hilfshandle->daten); while (hilfshandle->next != nullptr) { hilfshandle = hilfshandle->next; Console::WriteLine("nächstes Element: {0}",hilfshandle->daten); } } int main(array<System::String ^> ^args) { listenelement ^listenanfang; listenanfang = gcnew listenelement; listenanfang->daten="Element 0"; listenelement ^listenende; listenende = listenanfang; while (listenende->next != nullptr) listenende = listenende->next; listenende->next = gcnew listenelement; listenende = listenende->next; for (Int32 schleife=1;schleife<3;schleife++) einfuegen("Element "+schleife,listenende); ausgeben(listenanfang); return 0; } DANKE
  11. ich habs trotzdem nicht kapiert. ich bräuchte es echt zeile für zeile für Blödies **heul***
  12. nicht schlecht, danke. dann ist deins ja wie meins http://forum.fachinformatiker.de/smilies/1012.gif
  13. wenn du vielleicht Lust und Zeit hast, könntest du mir deine Vorstellungsweise darbieten ? ich scheitere mittlerweile schon an den kleinsten Dingen, wie z.B. was am Anfang in der Funktion einfuegen() überhaupt drinnensteht und ob dies schon Auswirkungen auf irgendwas hat
  14. also mit den langen pfeilen -----> versuche ich immer darzustellen, worauf der handle gerade noch zeigt
  15. ich meine damit, dass der Hilfshandle auf dieses next:nullptr gesetzt ist. also hilfshandle zeigt auf das letzte next-Objekt, welches den Wert 0 hat

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