Sudoku
Hallo erstmal,
ich komme einfach nicht weiter und zwar haben wir eine Aufgabe erhalten:
Schreiben Sie ein Programm, welches überprüft ob in einem gegebenen nxn - Array in jeder
Zeile bzw. jeder Spalte jede Zahl von 1 bis n genau einmal vorkommt; ein solches Array wird
korrekt genannt. Zum Beispiel ist
1 2 3
2 3 1
3 1 2
eine korrektes Array. Ihrem Programm ArrayCheck.java wird über die Kommandozeile der
Dateiname eines Feldes mitgegeben. Testen Sie ob in der Datei eine korrektes Array gespeichert
ist.
Beispiel: Für die Datei sod1
3
1 2 3
3 1 2
2 3 1
soll Ihr Programm mit dem Aufruf java SudokuCheck sod1 die Ausgabe
Richtig.
liefern. Für die Datei sod2
3
1 2 3
3 1 1
2 3 1
die Ausgabe
Falsch.
Das Dateiformat ist
<n>
<Zeile 1 mit n Werten>
<Zeile 2 mit n Werten>
...
<Zeile n mit n Werten>
Ich weiß jetzt einfach nicht wie ich weiter vorgehen soll. Wäre super wenn ihr mir helfen würdet.
ich komme einfach nicht weiter und zwar haben wir eine Aufgabe erhalten:
Schreiben Sie ein Programm, welches überprüft ob in einem gegebenen nxn - Array in jeder
Zeile bzw. jeder Spalte jede Zahl von 1 bis n genau einmal vorkommt; ein solches Array wird
korrekt genannt. Zum Beispiel ist
1 2 3
2 3 1
3 1 2
eine korrektes Array. Ihrem Programm ArrayCheck.java wird über die Kommandozeile der
Dateiname eines Feldes mitgegeben. Testen Sie ob in der Datei eine korrektes Array gespeichert
ist.
Beispiel: Für die Datei sod1
3
1 2 3
3 1 2
2 3 1
soll Ihr Programm mit dem Aufruf java SudokuCheck sod1 die Ausgabe
Richtig.
liefern. Für die Datei sod2
3
1 2 3
3 1 1
2 3 1
die Ausgabe
Falsch.
Das Dateiformat ist
<n>
<Zeile 1 mit n Werten>
<Zeile 2 mit n Werten>
...
<Zeile n mit n Werten>
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
public class ArrayCheck
{
public static void main(String[] args)
{
int x;
String s;
String[] data;
char[][] c;
int i;
In.open("sod1.txt");
x=In.readInt();
s=In.readLine();
data=new String[x];
c=new char[x][x];
for(i=0;i<data.length;i++)
{
s=In.readLine();
data[i]=s;
for(int j=0;j<data.length;j++)
{
c[i][j]=data[i].charAt(j);
Out.println(c[i][j]);
}
}
In.close();
}
}
|
Ich weiß jetzt einfach nicht wie ich weiter vorgehen soll. Wäre super wenn ihr mir helfen würdet.
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
public class ArrayCheck
{
public static void main(String[] args)
{
int x;
String s;
String[] data;
char[][] c;
int i;
In.open("sod1.txt");
x=In.readInt();
s=In.readLine();
data=new String[x];
c=new char[x][x];
for(i=0;i<data.length;i++)
{
s=In.readLine();
data[i]=s;
for(int j=0;j<data.length;j++)
{
c[i][j]=data[i].charAt(j);
for(int y = 0; y < datan.length; y++)
{
for(int x = 0; x < datan.length; x++)
{
if(c[i][j] == c[i-y][j-x])
{
Out.println("Doppelte Zahl in der Zeile oder Spalte");
}
else
{
Out.println("Die Spalte oder Zeile ist in ordnung");
}
}
}
Out.println(c[i][j]);
}
}
In.close();
}
}
|
Versuchs mal so(weis net obs klappt)
Mein kleines Projekt
-Cruel Online-
-Cruel Online-
Sudoku prüfen
Hallo DevilKiller,
googel mal n bisschen rum, da gibts tausende von Lösungen, wie man Sudokus prüfen lassen kann. (Wikipedia liefert dir sogar die erklärungen, warum der Code so ist dazu)
Wenn dir keine der Lösungen gefällt, kannst du mich gerne anschreiben, ich habe einen eigenen Algorithmus geschrieben, bei welchem n*n Matrizen geprüft werden.
Die Matrizengröße spielt zwischen 4 <= n <= 9 keine Rolle, da der Algorithmus selbst entscheidet, welche Prüfungsmethoder er nimmt.
Schreib mir PN, dann schick ich dir den Code.
Habe auch einen rekursiven Algorithmus zum lösen des Sudokus. (nur falls jemand über diesen Thread stolpert und sowas sucht)
Gruß Manuel
googel mal n bisschen rum, da gibts tausende von Lösungen, wie man Sudokus prüfen lassen kann. (Wikipedia liefert dir sogar die erklärungen, warum der Code so ist dazu)
Wenn dir keine der Lösungen gefällt, kannst du mich gerne anschreiben, ich habe einen eigenen Algorithmus geschrieben, bei welchem n*n Matrizen geprüft werden.
Die Matrizengröße spielt zwischen 4 <= n <= 9 keine Rolle, da der Algorithmus selbst entscheidet, welche Prüfungsmethoder er nimmt.
Schreib mir PN, dann schick ich dir den Code.
Habe auch einen rekursiven Algorithmus zum lösen des Sudokus. (nur falls jemand über diesen Thread stolpert und sowas sucht)
Gruß Manuel
Man muss nicht alles wissen, aber man muss wissen, wo man die Antworten her kriegen kann.
Ähnliche Themen
-
PHP »-
"sudoku-Generator"
(16. Dezember 2005, 20:20)


