Forum » Programiranje » C# matrike
C# matrike
Neon87 ::
Pozdravljeni!
Sem gledal malo po netu, vendar nisem prišel do neke ideje, kako bi naredil sledeče:
Imam matriko 9X9, v njej zapisane podatke, zdaj pa bi rad to matriko razbil na 9 3X3 podmatrik?
Rad bi seveda da mi vsi podatki ostanejo. 81 prirejanj se mi ne da delat in tudi ni najlepš za videt v kodi, zato me zanima kk bi to vi naredil?
Gre pa za sudoku.
LP
Sem gledal malo po netu, vendar nisem prišel do neke ideje, kako bi naredil sledeče:
Imam matriko 9X9, v njej zapisane podatke, zdaj pa bi rad to matriko razbil na 9 3X3 podmatrik?
Rad bi seveda da mi vsi podatki ostanejo. 81 prirejanj se mi ne da delat in tudi ni najlepš za videt v kodi, zato me zanima kk bi to vi naredil?
Gre pa za sudoku.
LP
kihc ::
offtopic: v C/C++ bi se pomoje dalo zadevo elegantno rešiti z kazalci.
Za C# pa nisem ziher kako ima to porihtano, samo kazalcev naj se ne bi uporabljalo, čeprav se jih da. Bo povedal nekdo z melo več C# skillz. ;)
Za C# pa nisem ziher kako ima to porihtano, samo kazalcev naj se ne bi uporabljalo, čeprav se jih da. Bo povedal nekdo z melo več C# skillz. ;)
x
PaX_MaN ::
S for zanko. int[][] temp = new int[3][3]; for(i=0;i<9;i +=3) { for(j=0;j<9;j +=3) { //shraniš elemente podmatriko temp[i mod 3][j mod 3] = podatki[i][j]; } //dodaš podmatriko na nek seznam seznam_podmatrik.add(temp); }
Genetic ::
class Matrix { private int r, c; private int[][] data; public Matrix(int rows, int cols) { r = rows; c = cols; data = new int[r][c]; // ali ikako se ze inicializira 2d array } public void Set(int row, int col, int value) { // TODO: preveri ce sta row in col dovoljena data[row][col] = value; } public int Get(int row, int col) { // TODO: preveri ce sta row in col dovoljena return data[row][col]; } public Matrix Submatrix(int r_offset, int c_offset, int rows, int cols) { // TODO: preveri ce so offseti, rows in cols dovoljeni Matrix m(rows, cols); for (int i=0; i<rows; ++i) for (int j=0; j<cols; ++j) { if ((r_offset + i < r) && (c_offset + j < c)) m.Set(i,j,data[r_offset+i][c_offset+j]; } return m; } public Matrix[] Split9x9to3x3() { Matrix m[] = new Matrix[9]; for (int i =0; i<9; ++i) { m[i] = Submatrix((i/3)*3, (i%3)*3, 3, 3); } return m; } }
Tako nekakao ...
edit: nekaj me daje prehlad ...
Zgodovina sprememb…
- spremenil: Genetic ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Vsota določenih elementov matrike [C]Oddelek: Programiranje | 995 (683) | RatedR |
» | [C] Pomoč pri programu za fax (matrike)Oddelek: Programiranje | 1292 (1035) | alphasaphir |
» | Program v COddelek: Programiranje | 1932 (1771) | darkkk |
» | [Naloga][C++] Mnozenje vecdimenzionalnih polj.Oddelek: Programiranje | 1622 (1515) | wat56 |
» | [C++] razpršene matrikeOddelek: Programiranje | 1690 (1400) | petrina |