Hirdetés

2024. június 16., vasárnap

Gyorskeresés

Útvonal

Fórumok  »  Szoftverfejlesztés  »  Java programozás (kiemelt téma)

Hozzászólások

(#2601) Davs


Davs
tag

Hali, kellene egy kis segitseg. Sudoku-fejto programocskan munkalkodok (androidra, de most azt hagyom, kulon javaban szeretnem implementalni az egeszet, aztan atvinni oda).
Adott a sudoku[] tomb, 81elemmel ugyebar, mindegyik eleme vagy <1,9> szam, vagy 0, ha ures. Addig futna a program, amig van 0 a sudoku tombben, mert ugye addig nincs megoldva.
Ott tartok, hogy minden mezohoz el szeretnem menteni a lehetseges szam-jelolteket es kicsit tanacstalan vagyok abban, hogy milyen adattipust hasznaljak. A lenyeg, hogy minden eleme egy tombbot tartalmazzon, tehat a candidate[0]={1,2,3}, candidate[1]={8,9} , esetleg, ha nincs semmilyen lehetoseg (ergo azon a mezon mar meg van adva a szam), akkor tomb helyett egy egyszeru (int) 0 szerepelhetne. Ugy lenne jo, hogy azokbol a tombbol torolhessem az elemeket, pl ha a bal felso sarokban (ahova eddig mehetett 1,2,3) ki tudom zarni a 3-ast, akkor torolhessem a tombbol, igy candidate[0]={1,2} maradna. Eddig valahol itt tartok, mukodni mukodik, csak nemtudom, hogy az int[][] tombbol lehet-e torolni elemeket..

public static int[][] candidates() { //kigeneralja a tombot a lehetseges szamokkat
int[][] cand = new int[81][] ;
for (int i = 0; i < 81; i++) { //vegigmegy a sudoku[] tombon
if (sudoku[i] != 0) { //ha a szam mar meg van adva, akkor 0-t allit be
cand[i] = new int[1] ;
cand[i][0] = 0 ;
} else { //ha a szam nincs megadva, azaz =0
int[] tmp = getCand(i) ; //getCand ellenorzi, hogy az adott mezoben mely szamok lehetnek (sort es oszlopot nezi csak)
cand[i] = new int[tmp.length] ;
cand[i] = tmp ;
System.out.println(cand[i][1]) ;
}
}

return cand ;
}

es itt lenne jo, ha pl a cand[0]-ban levo tombbol tudnek torolni..C-ben vectoroztam anni, most is probaltam ArrayList-ezni, csak nemigazan tudtam deklaralni ugy, hogy az adott valtozom minden eleme egy tombbot tartalmazzon..igy roviden ennyi a problemam :D

Útvonal

Fórumok  »  Szoftverfejlesztés  »  Java programozás (kiemelt téma)
Copyright © 2000-2024 PROHARDVER Informatikai Kft.