Changeset 393 in Java_Quellcode_SOOP_Vorlesung


Ignore:
Timestamp:
Nov 28, 2017, 11:43:06 AM (7 years ago)
Author:
tr
Message:

Variable angepasst

File:
1 edited

Legend:

Unmodified
Added
Removed
  • arrays/SudokuSolver.java

    r241 r393  
    9999        // wir beginnen oben links und gehen nach unten rechts durch
    100100        // Nummer des Feldes: 0..80
    101         int feld = 0;
     101        int position = 0;
    102102        // zähle die Rücksprünge (nur zu Informationszwecken)
    103103        int rueckspruenge = 0;
    104104
    105         while (feld < 81) {
     105        while (position < 81) {
    106106            // Zeile und Spalte aus der Nummer des Feldes bestimmen
    107             int zeile = feld / 9;
    108             int spalte = feld % 9;
     107            int zeile = position / 9;
     108            int spalte = position % 9;
    109109
    110110            // Es werden nur Felder bearbeitet, die nicht negativ sind.
    111111            // negative Zahlen sind die Startbelegung -> überspringen
    112             if (a[zeile][spalte] >= 0) {
    113 
     112            if (a[zeile][spalte] < 0) {
     113                // Zahl war negativ -> weiterrücken
     114                position++;
     115           
     116            } else {
    114117                // Versuche, eine Zahl im Feld a[zeile][spalte] einzubauen
    115118                // Beginne mit der aktuellen Zahl + 1: anfangs 0 + 1
     
    129132                    a[zeile][spalte] = kandidat;
    130133                    // weiterrücken zum nächsten Feld
    131                     feld++;
     134                    position++;
    132135
    133136                } else {
    134137                    // zahl == 10 -> keine passende Zahl gefunden -> zurückgehen
    135                     // Feld auf 0 zurücksetzen damit der Test nicht verfälscht
    136                     // wird
     138                    // Feld auf 0 zurücksetzen damit spätere Einträge nicht verfälscht
     139                    // werden
    137140                    a[zeile][spalte] = 0;
    138141
     
    141144                    // kennzeichnen -> Zurück bis Inhalt nicht mehr negativ
    142145                    do {
    143                         feld--;
     146                        position--;
    144147                        rueckspruenge++;
    145                     } while (a[feld / 9][feld % 9] < 0);
    146                 }
    147 
    148             } else {
    149                 // Zahl war negativ -> weiterrücken
    150                 feld++;
     148                    } while (a[position / 9][position % 9] < 0);
     149                }
    151150            }
    152151        }
     
    208207
    209208        int[][] sudoku;
    210         sudoku = sudokuSchnell;
    211         // sudoku = sudokuLangsam;
     209        //sudoku = sudokuSchnell;
     210        sudoku = sudokuLangsam;
    212211        // sudoku = sudokuLeer;
    213212
Note: See TracChangeset for help on using the changeset viewer.