Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme.

Sudoku

Diskussion: Sudoku im Forum Code Kitchen, in der Kategorie Software Home; Anzeige Hallo! ich versuche gerade die Sudoku-Solver Aufgabe zu bewältigen. Leider finde ich meinen Fehler im Code nicht... Könnt Ihr ...

Antwort
Alt 25.05.08, 10:38   #1 (permalink)
 
Registriert seit: 21.04.08
Ook! Leistung: Facit NTK
Likes: 0
Standard Sudoku

Anzeige

Hallo!

ich versuche gerade die Sudoku-Solver Aufgabe zu bewältigen. Leider finde ich meinen Fehler im Code nicht...
Könnt Ihr mal draufschauen?! Danke :)

Code:
void fillGrid(data, grid){
	x = -1
	for(i=0; i<81; i++){
		if((i%9) == 0) 
			x++
		grid[x%9][i%9] = data[i]
	}
}

boolean solve(row, col, grid){
	if(row == 9){   
		row = 0
	    if(col++ == 9)
	    	return true
	}           
	   
	if(grid[row][col] > 0)  
		return solve(row+1, col, grid);
	               
	for(x=1; x<10; x++) {
		if(check(row, col, x, grid)) { 
			grid[row][col] = x;       
	        if(solve(row+1, col, grid))
	        	return true
		}
	}

	grid[row][col] = 0;
	return false;
}

boolean check(row, col, x, grid){
	for(k=0; k<9; k++)
		if(x == grid[k][col])
			return false
		
	for(k=0; k<9; k++)
		if(x == grid[row][k])
			return false
	
	rowOffset = (int)(row/3)*3
	colOffset = (int)(col/3)*3
	for(k=0; k<3; k++)
	    for(m=0; m<3; m++)
			if(x == grid[rowOffset+k][colOffset+m])
				return false
	
	return true;
}

void printGrid(grid){
	for(row in grid)
		println row
	println ""
}

void doIt(){
	grid = new int[9][9]
	data = [ 0,0,0,0,0,0,0,0,0, 0,7,0,0,4,0,0,1,0, 3,0,1,5,0,6,4,0,8,
	         0,0,0,0,0,0,0,0,0, 0,6,0,0,1,0,0,4,0, 1,0,5,7,0,9,8,0,3,
	         0,0,0,0,0,0,0,0,0, 0,3,0,0,7,0,0,2,0, 2,0,4,8,0,5,7,0,9 ]
	
	fillGrid(data, grid)
	printGrid(grid)
	if(solve(0, 0, grid))
		printGrid(grid)
	else
		println "Keine Lösung"
}

// startet die anwendung
doIt()
Gruß
Felix
Ook! ist offline   Mit Zitat antworten
Alt 25.05.08, 10:46   #2 (permalink)
 
Benutzerbild von bad_alloc
 
Registriert seit: 27.12.07
bad_alloc Leistung: 8086
Likes: 39
Standard

könntest du bitte den ganzen code (also mit headerdateien etc.) als anghang posten? auch compiler fehlermeldungen währen hilfreich. Als sprache nehme ich mal c++ an

so wie ich das sehe hast du fast durchgängig die semikolons vergessen

Code:
boolean solve(row, col, grid){
	if(row == 9){   
		row = 0            //hier fehlt eins
	    if(col++ == 9)
	    	return true    //hier auch
	}           
}
__________________
You shoot yourself in somebody else's foot.|Dann gabs da noch den Mathematiker der P?=NP in O(1) erklärte.
|[A]| = p(·,|[A]|)+1
bad_alloc ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 25.05.08, 11:00   #3 (permalink)
Themenstarter
 
Registriert seit: 21.04.08
Ook! Leistung: Facit NTK
Likes: 0
Standard

Hallo!

Danke für deinen Post.
Es handelt sich hier um Groovy, eine Sprache die auf Java aufsetzt, also auf der Java VM arbeitet.
Semikolas sind nicht pflicht und können daher weggelassen werden.

Fehler krieg ich keine!
Er gibt mir nur aus, dass kein Ergebnis gefunden wurde.

Gruß
Felix

EDIT
Wie ich sehe kennst du Groovy... wäre schön, wenn du deine Meinung zur Sprache in dem Thread "Erfahrungsaustausch Groovy" posten könntest... bisher gabs noch keine Antworten

EDIT [ 2 ]
Für die, die es interessiert... es lang an Groovy, scheinbar hat es sich an irgendetwas an meinem Code verschluckt und somit nie eine Lösung angezeigt, ich hab das ganze dann mal nach python und java portiert und dort lief es einwandfrei...

Finde jedoch schade, dass ich hier keine Hilfe bekommen habe bzgl. meines Problems!
Ook! ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Software Home » Code Kitchen » Sudoku
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Sudoku Cheat-Prog. Elderan Programmieraufgaben 33 12.04.10 19:09
Sudoku-Generator CDW Programmieraufgaben 1 04.08.09 02:12
Sudoku programmieren jami Code Kitchen 1 16.10.05 15:05


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 49 50 51 52 53 54 55 56 57 58 59 60 61