Zum Inhalt springen

Lady_Lilith

Mitglieder
  • Gesamte Inhalte

    41
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von Lady_Lilith

  1. Aber es soll ja erst geprüft werden und da kann ich ja nicht laufend durchsortieren, sondern muss prüfen, obs passt, dann kann ich die nächsten Karten vertauschen. Da sind ja noch andere Dinge am Werk. Hier mal komplett, dass du dir das vorstellen kannst, wie ich das meine. PuzzleRek.txt
  2. Nunja, dass das funktioniert habe ich durch testen jetzt gesehen. Es ist nur so, dass ich ein ganz anderes Projekt habe. Das mit der Sortierung soll ja IN das Projekt. Es geht darum: Ich habe hier ein Puzzle von Uli Stein. Dort gibt es 9 verschiedene Karten, deren Kanten bei nur EINER möglichen Anordnung zusammenpassen. Diese Reihenfolge der Karten möchte ich herausfinden, und dazu muss ich alle Möglichkeiten der Anordnung durchspielen (das wäre ja jetzt der Teil, den du hier reingeschrieben hast. Es soll ja in JEDEM Durchgang EINE Karte vertauscht werden, dann wird geschaut, ob sie zur nächsten Karte passt in Bezug auf deren Kanten und wenn nicht, gibt es eine neue Vertauschung und das Programm läuft von vorn durch. Es geht hier nicht allein um diese Sortierung, sondern die soll IN mein Programm rein. Mein Problem ist jetzt: Ich weiß nicht, wie ich das darin einfügen soll.
  3. Ja, das mit den Permutationen weiß ich, wieviele das sind. Nur bekomme ich es immernoch nicht wirklich hin. Ich fühle mich grad ein wenig verschusselt und hab keine Ahnung, was ich dort wie aus meiner Rekursion ersetzen muss: do { Console.SetCursorPosition(0, 0); Console.WriteLine("Alte Reihenfolge: " + reiheString); Console.WriteLine("Suche neue Reihenfolge . . . bitte warten . . ."); for (x = 8; x >= 1; x--) { if (int.Parse(reiheString.Substring(x, 1)) > int.Parse(reiheString.Substring(x - 1, 1))) { n = x - 1; x = 0; } } nString = reiheString.Substring(n, 1); z = -1; sString = ""; do { z++; if (z >= 9) { return; } sString = reiheString.Substring(int.Parse(nString) + z 1); s = reiheString.IndexOf(sString, n + 1); } while (s == -1); for (x = 0; x < 9; x++) { rxString[x] = reiheString[x]; } Swap(ref rxString, n, s); reiheString = reiheString.Substring(0, n) + sString; for (x = 0; x < 9; x++) { for (y = n+1; y < 9; y++) { if (rxString[y] == (char)(49 + x)) { reiheString = reiheString + rxString[y]; } } } anzahlInt = anzahlInt + 1; for (x = 0; x < 9; x++) { r = int.Parse(reiheString.Substring(x, 1)); for (b = 0; b < 5; b++) { kString[x, b] = dString[r - 1, b]; } } Display(kString); if (Dreh(ref kString)) { Display(kString); Console.ReadKey(); } } while (reiheString != "987654321"); private static void Swap(ref char[] a, int iPos1, int iPos2) { char c = a[iPos1]; a[iPos1] = a[iPos2]; a[iPos2] = c; } Ich habe momentan leider ein totales Blackout und weiß absolut nicht, wie ich das da rein bekommen könnte, sodass es mit MEINEN Variablen funktioniert. Würdest du dir die Mühe machen, und mir das da rein packen? Wäre echt lieb.
  4. Guten Morgen. Nun habe ich es leider immernoch nicht herausgefunden, wie ich es schreiben soll . . . habe mir zwar Gedanken gemacht, hat aber nicht viel gebracht. Ich weiß jetzt, dass ich die Lexikographische Ordnung aufschreiben muss, weiß jedoch nicht wie. Bei mir steht momentan: Swap(ref rxString, n, s); private static void Swap(ref char[] a, int iPos1, int iPos2) { char c = a[iPos1]; a[iPos1] = a[iPos2]; a[iPos2] = c; } Das vertauscht die beiden Zahlen, die mit n und s betitelt sind. Hat jemand ne Idee, wie ich das, wie gewünscht, aufschreibe?
  5. Dankeschön Werde mich damit mal auseinandersetzen.
  6. Naja, das ist doch das, was ich eigentlich gemacht hatte, oder? Ich hatte ja vorgegeben, wenn die eine Zahl größer ist, als die davor, dann sollen die getauscht werden. Aber dadurch werden ja nicht alle Möglichkeiten genannt, sondern es kommt dazu, dass man zwar von 123456789 nach 987654321 aber durch anderes Verschiebeverfahren, welches nicht ALLE Möglichkeiten wahrnimmt, als wenn man es hochzählt.
  7. Sooo . . . nun Folgendes: Ich bin jetzt quasi am Ende meiner Übersetzung, nur gibt es einen kleinen Schönheitsfehler, und zwar: Ich möchte, dass er alle Möglichkeiten der Kartenlegung durchprobiert, bis er irgendwann die umgekehrte Anfangsreihenfolge hat. Also: Aus 123456789 soll später 987654321 werden. Jetzt hatte ich das versucht, indem ich immer die letzte Zahl nehme, und die weiter nach vorn schiebe. Nun kamen aber immer nur die 1 und die 9 an den Anfang. Also probierte er nicht alles aus. Ich möchte also jede einzelne kleine Möglichkeit erfassen und die durchspielen lassen. Habt ihr eine Idee, wie ich das in C# schreiben kann? Folgendes soll dabei herauskommen, nur ich kenn den Code dafür nicht: 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 9 8 1 2 3 4 5 6 8 7 9 1 2 3 4 5 6 8 9 7 1 2 3 4 5 6 9 7 8 1 2 3 4 5 6 9 8 7 1 2 3 4 5 7 6 8 9 1 2 3 4 5 7 6 9 8 Er soll halt mit den vorhandenen Zahlen (in diesem Fall Karten) - jede nur EINMAL - einfach nur hochzählen. Und wenn er beim nächsten Tausender angekommen ist, dann soll er die nächste Zahl mit einbeziehen, etc. Ich denke die Gesetzmäßigkeit dahinter habt ihr verstanden, oder? Liebe Grüße!
  8. Das will ich ja auch gar nicht Bin ja auch schon relativ weit. Highlights sind dann immer, wenn das Fenster gescheit aufgeht Glaube schon dass ich das hinbekomm. Wenn ichs erstmal raus hab, was der Typ da wie gemacht hat . . . Einzelne Sachen gehen ja sehr gut, nur im Zusammenspiel ist es knifflig. Aber das passt schon Thx für die Hilfe!
  9. Hab ich schon gemacht, aber das ist sooo komplex, da blick ich als Frischling noch nicht so durch. Und das dann noch in C# reinzupacken . . . Naja, mein Ausbilder meint, ich schaff das. Allein. Ich glaub nicht dran . . .
  10. Ich bin, wie ich bin ;)

  11. Achso ok, ja den hatte ich aus einer Internetseite von so einem Uralttyp. Komme da ja selbst nicht mit klar. Ich bin grad so ziemlich im Gedankenchaos. Und ich weiß nicht wieso er was wo macht, das ist echt böse. Weil Programmieren an sich ja nicht schwer ist, aber die Gedankengänge von anderen hinterherzukommen, gerade wenn man das vor 4 Wochen das erste Mal gemacht hat, ist das schon der Hammer
  12. Sorry bin extrem neu auf dem Gebiet
  13. Hier mal mein aktueller Stand bei C# um Vergleich. PuzzleRek.txt
  14. Hmmm und ist ok dann eine Variable, die ich zuordnen muss? Weil das ok hab ich ja nicht vorgegeben dort, das taucht einfach auf. (Sry, wenn ich mich nen bissi blöd anstell )
  15. Hallo. Ich hab gerade eine Aufgabe, und zwar, dass ich eine Rekursion zum Puzzle "Noch Verzwickter!" von Uli Stein von Visual Quick Basic umschreiben soll in C#. Die Rekursion hab ich vorliegen, jedoch weiß ich nicht genau was mir der Ausdruck "IF ok = 0 THEN" sagen soll Die Rekursion in VBQ findet ihr unten im Anhang. Vielleicht könnt ihr mir ja helfen? Wär echt lieb! Liebe Grüße! PS: Und wenn ihr noch andere Möglichkeiten seht, mir zu helfen, sagt bescheid! DANKE! AltRekursion_Kommentar.txt
  16. Mein Rechner am Azubi-Platz: - HP Compaq dc7800 Convertible Minitower - Intel® Core2 QUad CPU - Q6600 @ 2.40GHz - RAM: 3567 MB - Grafikkarte: Intel® Q35 Express Chipset Family - 22'' TFT Monitor - 125 GB Speicherplatz für meinen Account - Microsoft Office 2007 - Visual Studio 2005 - 16.000er Internetleitung
  17. Bekomme: - im ersten Jahr 565 Euro Brutto. - im zweiten Jahr 615 Euro Brutto - im dritten Jahr 665 Euro Brutto Zudem: - Kostenlose Getränke (Cola light, Cola zero, Apfelsaft, O-Saft, Wasser) - Kostenloser Kaffeeautmaten mit richtig tollem Kakao! - Kostenloser Kirmesaufenthalt (hier im Ort) mit allem Drum und Dran - Super Firmen-Klima, alles freundschaftlich sogar mit Chef Sonstiges: - Urlaubstage: 25 im Jahr - 40 Std/Woche

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