Zum Inhalt springen

Ifrit

Mitglieder
  • Gesamte Inhalte

    2
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von Ifrit

  1. Danke für die Hinweise, werde mal sehen ob ich das so hinkriege. Und die Zufallsfunktion... wie dasteht habe ich die hier aus dem forum gefunden. Und ja, ich hab schon festgestellt, dass die Zeilen nicht sonderlich variieren, aber es ist erstmal was eigentlich muss ich das ganze sowieso anders machen, da das mit nem Zufallsgenerator nich wirklich funktioniert, da ich nicht von 1-9 generieren kann, sondern meist irgendwelche Zahlen in der Liste fehlen(ausser gaaanz am anfang) In PHP hab ich das so gelöst, dass jedes der 81 felder ein Array hat von 1-9 beinhaltet und wenn eine Zahl gesetzt wird, wird diese Zahl aus dem Array in allen Feldern der Spalte, Zeile und des kleinen Quadrats entfernt. Dann wird geschaut wo die wenigsten drin stehen und dort wird aus dem Array zufällig eine Zahl ausgewählt, in das Feld geschrieben und wieder aus allen aderen Arrays in Zeile, Spalte und kleinen Quadrat gelöscht und so weiter und so weiter. Das ist noch nicht der Optimal Algo, aber er funktioniert. Ich denke drüber nach, das nicht Felderweise mit 1-9 zu belegen, sondern Zeilen/spalten/kleinesQuadratweise und dann für jedes Feld extra abzugleichen. Ob das besser ist, werde ich sehen, wenns fertig ist ^^. Und welcher in ABAP am besten ist... irgendwann find ichs raus ^^
  2. Hallo zusammen., ich habe grade angefangen ABAP zu lernen. Bisher habe ich Java, C und PHP programmiert. Mit SQL habe ich auch erfahrungen, will heissen Tabellen sind mir nicht fremd. und wie ich da ein simples 2-dimensionales Array erzeuge is mir klar, zumindest in den genannten sprachen. Letztens habe ich mir in PHP einen Sudoku-Generator geschrieben und den wollte ich zu Übungszwecken in ABAP portieren in Form eines Reports. Also erzeugen des 9x9 Feldes, paar Eingabefelder einfügen und dann die Eingaben überprüfen. Allerdings scheitere ich schon am 9x9 Feld. ich krieg in die Y-Tabelle immer nur die letzte Zahl von X rein und nicht das ganze X. Liegt der fehler in der Definition von Y, der Übergabe oder in der Ausgabe? REPORT Z_SUDOKU . data: begin of X occurs 0, x1 type i, end of X, begin of Y occurs 0, y1 like X, end of Y. data: a type i. ************************************************************************ * Initialisierung ************************************************************************ initialization. do 9 times. * X füllen mit zufälligen a in X do 9 times. perform rand using a. append a to X. enddo. * X ausgeben write: / 'X:'. loop at X from 1 to 9. write X. endloop. * X in Y einfügen append X to Y. * X wieder leeren loop at X from 1 to 9. delete X. endloop. enddo. ************************************************************************ * Ausgabe des Ergebnisses ************************************************************************ start-of-selection. write: /, / 'Y:'. loop at Y from 1 to 9. write Y. endloop. ************************************************************************ * Zufallsgenerator 1-9 (aus dem Fachinformatiker-Forum) ************************************************************************ form rand using number. data: ergebnis LIKE QF00-RAN_INT. CALL FUNCTION 'QF05_RANDOM'. CALL FUNCTION 'QF05_RANDOM_INTEGER' EXPORTING RAN_INT_MAX = 9 RAN_INT_MIN = 1 IMPORTING RAN_INT = ergebnis. number = ergebnis. endform. die ganzen überprüfungen ob zahlen schon vorhanden oder nicht sind da natürlich noch nicht drin, weil es bringt ja nix ein 9x9 feld überprüfen zu wollen,w enn ich nichtmal eins erzeugen kann ich hab mit dem gedanken gespielt eine interne tabelle zu machen mit 9 spalten, aber eigentlich wäre mir meine variante lieber, da ich das ganze eventuel auch mit 4x4, 16x16 oder 25x25 machen möchte... also dynamisch indem ich eine zahl ändere, nämlich die Größe... bei PHP hat das wunderbar geklappt. MfG und danke fürs nachdenken Ifrit

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