ruski Skrevet 13. november 2008 Del Skrevet 13. november 2008 Hei, helt ny på programmering. Prøver å få utskrift på formen 123 456 780 Problemet er at jeg ikke vet hva som skal inn i de mange firkantete parantesene etter likhetstegnet. Da maener jeg ikke denne biten "if (data[0][0] == 0)", for den forteller i hvilken posisjon 0 er i. Jeg trenger dette til 8-Puzzle spillet jeg prøver å lage. Koden ser slik ut: class DataNode { private int data[][]; private DataNode barn[] = new DataNode[4]; public DataNode(int start[][]) { data = start; } public void lagBarn(int generations) { if (data[0][0] == 0) { int nyData1[][] = {{data[1][0],data[0][1]},{data[0][0],data[1][1]},{data[0][0],data[1][1]}}; int nyData2[][] = {{data[0][1],data[0][0]},{data[1][0],data[1][1]},{data[0][0],data[1][1]}}; barn[0] = new DataNode(nyData1); barn[1] = new DataNode(nyData2); } if (data[0][1] == 0) { int nyData1[][] = {{data[0][1],data[0][0]},{data[1][0],data[1][1]},{data[0][0],data[1][1]}}; int nyData2[][] = {{data[0][0],data[1][1]},{data[1][0],data[0][1]},{data[0][0],data[1][1]}}; barn[0] = new DataNode(nyData1); barn[1] = new DataNode(nyData2); barn[2] = new DataNode(nyData3); } if (data[0][2] == 0) { int nyData1[][] = {{data[1][0],data[0][1]},{data[0][0],data[1][1]},{data[0][0],data[1][1]}}; int nyData2[][] = {{data[0][0],data[0][1]},{data[1][1],data[1][0]},{data[0][0],data[1][1]}}; barn[0] = new DataNode(nyData1); barn[1] = new DataNode(nyData2); } if (data[1][0] == 0) { int nyData1[][] = {{data[0][0],data[1][1]},{data[1][0],data[0][1]},{data[0][0],data[1][1]}}; int nyData2[][] = {{data[0][0],data[0][1]},{data[1][1],data[1][0]},{data[0][0],data[1][1]}}; barn[0] = new DataNode(nyData1); barn[1] = new DataNode(nyData2); barn[2] = new DataNode(nyData3); } if (data[1][1] == 0) { int nyData1[][] = {{data[1][0],data[0][1]},{data[0][0],data[1][1]},{data[0][0],data[1][1]}}; int nyData2[][] = {{data[0][1],data[0][0]},{data[1][0],data[1][1]},{data[0][0],data[1][1]}}; barn[0] = new DataNode(nyData1); barn[1] = new DataNode(nyData2); barn[2] = new DataNode(nyData3); barn[3] = new DataNode(nyData4); } if (data[1][2] == 0) { int nyData1[][] = {{data[0][1],data[0][0]},{data[1][0],data[1][1]},{data[0][0],data[1][1]}}; int nyData2[][] = {{data[0][0],data[1][1]},{data[1][0],data[0][1]},{data[0][0],data[1][1]}}; barn[0] = new DataNode(nyData1); barn[1] = new DataNode(nyData2); } if (data[2][0] == 0) { int nyData1[][] = {{data[1][0],data[0][1]},{data[0][0],data[1][1]},{data[0][0],data[1][1]}}; int nyData2[][] = {{data[0][0],data[0][1]},{data[1][1],data[1][0]},{data[0][0],data[1][1]}}; barn[0] = new DataNode(nyData1); barn[1] = new DataNode(nyData2); } if (data[2][1] == 0) { int nyData1[][] = {{data[0][0],data[1][1]},{data[1][0],data[0][1]},{data[0][0],data[1][1]}}; int nyData2[][] = {{data[0][0],data[0][1]},{data[1][1],data[1][0]},{data[0][0],data[1][1]}}; barn[0] = new DataNode(nyData1); barn[1] = new DataNode(nyData2); barn[2] = new DataNode(nyData3); } if (data[2][2] == 0) { int nyData1[][] = {{data[0][0],data[1][1]},{data[1][0],data[0][1]},{data[0][0],data[1][1]}}; int nyData2[][] = {{data[0][0],data[0][1]},{data[1][1],data[1][0]},{data[0][0],data[1][1]}}; barn[0] = new DataNode(nyData1); barn[1] = new DataNode(nyData2); } if (generations > 0) for (int i=0;i<barn.length;i++) barn[i].lagBarn(generations-1); } public void dump() { for(int i=0;i<2;i++) { for(int j=0;j<2;j++) if (data[i][j] == 0) System.out.print(" "); else System.out.print(data[i][j]); System.out.println(""); } System.out.println(""); for(int i=0;i<barn.length;i++) if (barn [i] != null) barn[i].dump(); } public static void main(String[] args) { int data[][] = {{1,2,3},{4,5,6},{7,8,0}}; DataNode top = new DataNode(data); top.lagBarn(1); top.dump(); } } Uansett hva jeg setter inn får jeg OutOfBound eller NullPointExpression meldinger. Lenke til kommentar
pgdx Skrevet 13. november 2008 Del Skrevet 13. november 2008 Jeg har ikke lest koden din, men anslår at koden din kan skjæres ned til 5% av den størrelsen der. Gi oss utskriften av feilmeldingene. Noe slikt du vil ha? for (int i = 0; i < array.length; i++) { for (int j = 0; j < array[i].length; j++) { System.out.print(array[i][j]); } System.out.println(); } Lenke til kommentar
ruski Skrevet 13. november 2008 Forfatter Del Skrevet 13. november 2008 Feilmeldingen ser slik ut; init: deps-jar: Warning: DataNode_10\DataNode.java modified in the future. Compiling 1 source file to C:\Documents and Settings\Xxxx Xxx Xxxx\Mine dokumenter\NetBeansProjects\Demoer\DataNode_10\build\classes compile: run: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2 at DataNode_10.DataNode.lagBarn(DataNode.java:70) at DataNode_10.Main.main(Main.java:25) Java Result: 1 BUILD SUCCESSFUL (total time: 0 seconds) Lenke til kommentar
pgdx Skrevet 13. november 2008 Del Skrevet 13. november 2008 Forstår du hva dette betyr? Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2 at DataNode_10.DataNode.lagBarn(DataNode.java:70) at DataNode_10.Main.main(Main.java:25) Hovedsaklig ArrayIndexOutOfBoundsException: 2. Men også DataNode.java:70 Lenke til kommentar
ruski Skrevet 13. november 2008 Forfatter Del Skrevet 13. november 2008 Forstår du hva dette betyr? Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2 at DataNode_10.DataNode.lagBarn(DataNode.java:70) at DataNode_10.Main.main(Main.java:25) Hovedsaklig ArrayIndexOutOfBoundsException: 2. Men også DataNode.java:70 Det forteller ikke meg noe. M.a.o. helt gresk for meg. Lenke til kommentar
ruski Skrevet 13. november 2008 Forfatter Del Skrevet 13. november 2008 Forstår du hva dette betyr? public class Main { /** * @param args the command line arguments */ public static void main(String[] args) { int data[][] = {{1,2}, {3,4}, {5,0}}; DataNode top = new DataNode(data); top.lagBarn(1); top.dump(); } } Lenke til kommentar
ruski Skrevet 13. november 2008 Forfatter Del Skrevet 13. november 2008 Forstår du hva dette betyr? public class Main { /** * @param args the command line arguments */ public static void main(String[] args) { int data[][] = {{1,2}, {3,4}, {5,0}}; DataNode top = new DataNode(data); top.lagBarn(1); top.dump(); } } Feil kode public class Main { /** * @param args the command line arguments */ public static void main(String[] args) { int data[][] = {{1,2,3}, {4,5,6}, {7,8,0}}; DataNode top = new DataNode(data); top.lagBarn(1); top.dump(); } } Lenke til kommentar
Patton Skrevet 14. november 2008 Del Skrevet 14. november 2008 Forstår du hva dette betyr? Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2 at DataNode_10.DataNode.lagBarn(DataNode.java:70) at DataNode_10.Main.main(Main.java:25) Hovedsaklig ArrayIndexOutOfBoundsException: 2. Men også DataNode.java:70 Det forteller ikke meg noe. M.a.o. helt gresk for meg. La oss dele opp ordet ArrayIndexOutOfBoundsException: ArrayIndex - Index/posisjon i arrayet. new int[2] har tilsammen 2 posisjoner, med index fra 0 til 1. OutOfBounds - Utenfor grenser. new int[2] har grenser fra 0 til 1. Index 2 eller -1 er utenfor grensene. Exception - Feil. Java kan konstruere en Feil/Exception hvis noe gaar galt. Her forsoekte noen aa bruke en index i en array utenfor grensene. Etter ArrayIndexOutOfBoundsException staar det et tall: 2. Dette tallet betyr at index = 2 ble brukt, og 2 er utenfor grensen arrayet. Grensen paa arrayet er ikke oppgitt (desverre), men i de fleste tilfeller er det snakk om for-loekke som ikke stoppet tidsnok, og array stoerrelsen er sannsynligvis 2 (med index 0 og 1). Det staar derimot i hvor feilen oppstod: DataNode.java:70 - Enkelt og greit linje 70 i java-fila DataNode. Du vet at en array blir brukt i denne linja, saa naa maa du finne ut hvorfor indexet oversteg grensene. Lenke til kommentar
ruski Skrevet 14. november 2008 Forfatter Del Skrevet 14. november 2008 Forstår du hva dette betyr? class DataNode { private int data[][]; private DataNode barn[] = new DataNode[4]; // max antall barn private int[][] nyData3,nyData4; public DataNode(int start[][]) { data = start; } public void lagBarn(int generations) { if (data[0][0] == 0) { int nyData1[][] = {{data[1][0],data[1][2],data[0][2]},{data[0][1],data[1][0],data[1][2]},{data[0][1],data[1] 0],data[2][2]}}; int nyData2[][] = {{data[0][1],data[1][0],data[0][1]},{data[1][0],data[1][2],data[2][1]},{data[1][2],data[2] 1],data[0][0]}}; barn[0] = new DataNode(nyData1); barn[1] = new DataNode(nyData2); } if (data[0][1] == 0) { int nyData1[][] = {{data[0][0],data[0][1],data[0][0]},{data[1][1],data[1][1],data[0][0]},{data[1][2],data[2] 2],data[0][0]}}; int nyData2[][] = {{data[0][0],data[0][1],data[0][0]},{data[1][1],data[1][1],data[0][0]},{data[1][2],data[2] 2],data[0][0]}}; barn[0] = new DataNode(nyData1); barn[1] = new DataNode(nyData2); barn[2] = new DataNode(nyData3); } if (data[0][2] == 0) { int nyData1[][] = {{data[0][0],data[0][1],data[0][0]},{data[1][1],data[1][1],data[0][0]},{data[1][2],data[2] 2],data[0][0]}}; int nyData2[][] = {{data[0][0],data[0][1],data[0][0]},{data[1][1],data[1][1],data[0][0]},{data[1][2],data[2] 2],data[0][0]}}; barn[0] = new DataNode(nyData1); barn[1] = new DataNode(nyData2); } if (data[1][0] == 0) { int nyData1[][] = {{data[0][0],data[0][1],data[0][0]},{data[1][1],data[1][1],data[0][0]},{data[1][2],data[2] 2],data[0][0]}}; int nyData2[][] = {{data[0][0],data[0][1],data[0][0]},{data[1][1],data[1][1],data[0][0]},{data[1][2],data[2] 2],data[0][0]}}; barn[0] = new DataNode(nyData1); barn[1] = new DataNode(nyData2); barn[2] = new DataNode(nyData3); } if (data[1][1] == 0) { int nyData1[][] = {{data[0][0],data[0][1],data[0][0]},{data[1][1],data[1][1],data[0][0]},{data[1][2],data[2] 2],data[0][0]}}; int nyData2[][] = {{data[0][0],data[0][1],data[0][0]},{data[1][1],data[1][1],data[0][0]},{data[1][2],data[2] 2],data[0][0]}}; barn[0] = new DataNode(nyData1); barn[1] = new DataNode(nyData2); barn[2] = new DataNode(nyData3); barn[3] = new DataNode(nyData4); } if (data[1][2] == 0) { int nyData1[][] = {{data[0][0],data[0][1],data[0][0]},{data[1][1],data[1][1],data[0][0]},{data[1][2],data[2] 2],data[0][0]}}; int nyData2[][] = {{data[0][0],data[0][1],data[0][0]},{data[1][1],data[1][1],data[0][0]},{data[1][2],data[2] 2],data[0][0]}}; barn[0] = new DataNode(nyData1); barn[1] = new DataNode(nyData2); } if (data[2][0] == 0) { int nyData1[][] = {{data[0][0],data[0][1],data[0][0]},{data[1][1],data[1][1],data[0][0]},{data[1][2],data[2] 2],data[0][0]}}; int nyData2[][] = {{data[0][0],data[0][1],data[0][0]},{data[1][1],data[1][1],data[0][0]},{data[1][2],data[2] 2],data[0][0]}}; barn[0] = new DataNode(nyData1); barn[1] = new DataNode(nyData2); } if (data[2][1] == 0) { int nyData1[][] = {{data[0][0],data[0][1],data[0][0]},{data[1][1],data[1][1],data[0][0]},{data[1][2],data[2] 2],data[0][0]}}; int nyData2[][] = {{data[0][0],data[0][1],data[0][0]},{data[1][1],data[1][1],data[0][0]},{data[1][2],data[2] 2],data[0][0]}}; barn[0] = new DataNode(nyData1); barn[1] = new DataNode(nyData2); barn[2] = new DataNode(nyData3); } if (data[2][2] == 0) { int nyData1[][] = {{data[0][0],data[0][1],data[0][0]},{data[1][1],data[1][1],data[0][0]},{data[1][2],data[2] 2],data[0][0]}}; int nyData2[][] = {{data[0][0],data[0][1],data[0][0]},{data[1][1],data[1][1],data[0][0]},{data[1][2],data[2] 2],data[0][0]}}; barn[0] = new DataNode(nyData1); barn[1] = new DataNode(nyData2); } if (generations > 0) for (int i=0;i<barn.length;i++) barn[i].lagBarn(generations -1); } public void dump() { for(int i=0;i<3;i++) { for(int j=0;i<3;j++) if (data[i][j] == 0) System.out.print(" "); else System.out.print(data[i][j]); System.out.println(""); } System.out.println(""); for(int i=0;i<barn.length;i++) if (barn [i] != null) barn[i].dump(); } void lagBarn() { throw new UnsupportedOperationException("Not yet implemented"); } public static void main(String[] args) { int[][] a = { { 1, 2, 3 },{ 4, 5, 6 },{7, 8, 0 }}; DataNode top = new DataNode(data); top.lagBarn(1); top.dump(); } } Lenke til kommentar
ruski Skrevet 14. november 2008 Forfatter Del Skrevet 14. november 2008 Forstår du hva dette betyr? class DataNode { private int data[][]; private DataNode barn[] = new DataNode[4]; // max antall barn private int[][] nyData3,nyData4; public DataNode(int start[][]) { data = start; } public void lagBarn(int generations) { if (data[0][0] == 0) { int nyData1[][] = {{data[1][0],data[1][2],data[0][2]},{data[0][1],data[1][0],data[1][2]},{data[0][1],data[1] 0],data[2][2]}}; int nyData2[][] = {{data[0][1],data[1][0],data[0][1]},{data[1][0],data[1][2],data[2][1]},{data[1][2],data[2] 1],data[0][0]}}; barn[0] = new DataNode(nyData1); barn[1] = new DataNode(nyData2); } if (data[0][1] == 0) { int nyData1[][] = {{data[0][0],data[0][1],data[0][0]},{data[1][1],data[1][1],data[0][0]},{data[1][2],data[2] 2],data[0][0]}}; int nyData2[][] = {{data[0][0],data[0][1],data[0][0]},{data[1][1],data[1][1],data[0][0]},{data[1][2],data[2] 2],data[0][0]}}; barn[0] = new DataNode(nyData1); barn[1] = new DataNode(nyData2); barn[2] = new DataNode(nyData3); } if (data[0][2] == 0) { int nyData1[][] = {{data[0][0],data[0][1],data[0][0]},{data[1][1],data[1][1],data[0][0]},{data[1][2],data[2] 2],data[0][0]}}; int nyData2[][] = {{data[0][0],data[0][1],data[0][0]},{data[1][1],data[1][1],data[0][0]},{data[1][2],data[2] 2],data[0][0]}}; barn[0] = new DataNode(nyData1); barn[1] = new DataNode(nyData2); } if (data[1][0] == 0) { int nyData1[][] = {{data[0][0],data[0][1],data[0][0]},{data[1][1],data[1][1],data[0][0]},{data[1][2],data[2] 2],data[0][0]}}; int nyData2[][] = {{data[0][0],data[0][1],data[0][0]},{data[1][1],data[1][1],data[0][0]},{data[1][2],data[2] 2],data[0][0]}}; barn[0] = new DataNode(nyData1); barn[1] = new DataNode(nyData2); barn[2] = new DataNode(nyData3); } if (data[1][1] == 0) { int nyData1[][] = {{data[0][0],data[0][1],data[0][0]},{data[1][1],data[1][1],data[0][0]},{data[1][2],data[2] 2],data[0][0]}}; int nyData2[][] = {{data[0][0],data[0][1],data[0][0]},{data[1][1],data[1][1],data[0][0]},{data[1][2],data[2] 2],data[0][0]}}; barn[0] = new DataNode(nyData1); barn[1] = new DataNode(nyData2); barn[2] = new DataNode(nyData3); barn[3] = new DataNode(nyData4); } if (data[1][2] == 0) { int nyData1[][] = {{data[0][0],data[0][1],data[0][0]},{data[1][1],data[1][1],data[0][0]},{data[1][2],data[2] 2],data[0][0]}}; int nyData2[][] = {{data[0][0],data[0][1],data[0][0]},{data[1][1],data[1][1],data[0][0]},{data[1][2],data[2] 2],data[0][0]}}; barn[0] = new DataNode(nyData1); barn[1] = new DataNode(nyData2); } if (data[2][0] == 0) { int nyData1[][] = {{data[0][0],data[0][1],data[0][0]},{data[1][1],data[1][1],data[0][0]},{data[1][2],data[2] 2],data[0][0]}}; int nyData2[][] = {{data[0][0],data[0][1],data[0][0]},{data[1][1],data[1][1],data[0][0]},{data[1][2],data[2] 2],data[0][0]}}; barn[0] = new DataNode(nyData1); barn[1] = new DataNode(nyData2); } if (data[2][1] == 0) { int nyData1[][] = {{data[0][0],data[0][1],data[0][0]},{data[1][1],data[1][1],data[0][0]},{data[1][2],data[2] 2],data[0][0]}}; int nyData2[][] = {{data[0][0],data[0][1],data[0][0]},{data[1][1],data[1][1],data[0][0]},{data[1][2],data[2] 2],data[0][0]}}; barn[0] = new DataNode(nyData1); barn[1] = new DataNode(nyData2); barn[2] = new DataNode(nyData3); } if (data[2][2] == 0) { int nyData1[][] = {{data[0][0],data[0][1],data[0][0]},{data[1][1],data[1][1],data[0][0]},{data[1][2],data[2] 2],data[0][0]}}; int nyData2[][] = {{data[0][0],data[0][1],data[0][0]},{data[1][1],data[1][1],data[0][0]},{data[1][2],data[2] 2],data[0][0]}}; barn[0] = new DataNode(nyData1); barn[1] = new DataNode(nyData2); } if (generations > 0) for (int i=0;i<barn.length;i++) barn[i].lagBarn(generations -1); } public void dump() { for(int i=0;i<3;i++) { for(int j=0;i<3;j++) if (data[i][j] == 0) System.out.print(" "); else System.out.print(data[i][j]); System.out.println(""); } System.out.println(""); for(int i=0;i<barn.length;i++) if (barn [i] != null) barn[i].dump(); } void lagBarn() { throw new UnsupportedOperationException("Not yet implemented"); } public static void main(String[] args) { int[][] a = { { 1, 2, 3 },{ 4, 5, 6 },{7, 8, 0 }}; DataNode top = new DataNode(data); top.lagBarn(1); top.dump(); } } Med den nye koden får jeg feilmeldingen som følger: init: deps-jar: compile: run: Exception in thread "main" java.lang.NullPointerException at DataNode.DataNode.lagBarn(DataNode.java:25) at DataNode.Main.main(Main.java:28) Java Result: 1 BUILD SUCCESSFUL (total time: 0 seconds) Lenke til kommentar
pgdx Skrevet 15. november 2008 Del Skrevet 15. november 2008 Exception in thread "main" java.lang.NullPointerException at DataNode.DataNode.lagBarn(DataNode.java:25) at DataNode.Main.main(Main.java:28) Her står det at på linje 25 i filen DataNode prøver du å gjøre noe med et element som ikke er instansiert ennå. Det kan gjerne være et array i ditt tilfelle. Men jeg må si at jeg tror den koden er overkomplisert. Det må være en måte å gjøre dette enklere på. Kanskje du skal prøve å begynne på nytt? Hva går oppgaven ut på (forklart i egne ord, ikke en .doc-fil)? Lenke til kommentar
ruski Skrevet 15. november 2008 Forfatter Del Skrevet 15. november 2008 Exception in thread "main" java.lang.NullPointerException at DataNode.DataNode.lagBarn(DataNode.java:25) at DataNode.Main.main(Main.java:28) Her står det at på linje 25 i filen DataNode prøver du å gjøre noe med et element som ikke er instansiert ennå. Det kan gjerne være et array i ditt tilfelle. Men jeg må si at jeg tror den koden er overkomplisert. Det må være en måte å gjøre dette enklere på. Kanskje du skal prøve å begynne på nytt? Hva går oppgaven ut på (forklart i egne ord, ikke en .doc-fil)? Som du ser av det første spørsmålet at den skal gi autskrift på formen 123 456 780 med mist 9 utskrifter med forskjellig forskjellig plassering av tallene for de forskjellige utskriftene. Det jeg ikke får til er ombyttingen av verdiene i de mange, veldig mange firkantparanteser. Det er jo det som er meningen at for vært bytte jeg gjør, får jeg nytt utskrift som iee er lik den forrige. Bare den første og den siste skal være like. Der hvor ombyttingene skal skje er i disse kodesnuttene: understrket int nyData1[][] = {{data[0][1],data[1][2],data[2][2]},{data[2][1],data[1][0],data[0][0]},{data[1][0],data[2] 1],data[2][0]}}; int nyData2[][] = {{data[0][1],data[1][0],data[2][0]},{data[0][1],data[1][0],data[2][0]},{data[0][1],data[1] 0],data[2][0]}}; Lenke til kommentar
pgdx Skrevet 15. november 2008 Del Skrevet 15. november 2008 (endret) Sånn? for (int counter = 0; counter <= 10; counter++) { int i = counter % 10; for (int x = 0; x < 3; x++) { for (int y = 0; y < 3; y++) { System.out.print(i); i = (++i) % 10; } System.out.println(); } System.out.println(); } Endret 15. november 2008 av pgdx Lenke til kommentar
ruski Skrevet 15. november 2008 Forfatter Del Skrevet 15. november 2008 Sånn? public class Main { private static int[][] data; /** * @param args the command line arguments */ public static void main(String[] args) { int[][] a = {{1, 2, 3 }, {4, 5, 6 }, {7, 8, 0 }}; DataNode top = new DataNode(data); // top.lagBarn(1); top.dump(); } } Lenke til kommentar
pgdx Skrevet 15. november 2008 Del Skrevet 15. november 2008 Den koden fungerer bare når jeg faser ut "top.lagBarn(1);". Hvorfor det? Det er vel ikke meningen!! Etter det jeg har forstått, så er dette et søk i et tre, eller hva?Er dette den første skoleoppgaven din? Det kan nok hende du må begynne på litt enklere oppgaver. Jeg forstår ikke hva oppgaven din går ut på, så jeg kan nok ikke hjelpe deg. Lenke til kommentar
ruski Skrevet 15. november 2008 Forfatter Del Skrevet 15. november 2008 Sånn? public class Main { private static int[][] data; /** * @param args the command line arguments */ public static void main(String[] args) { int[][] a = {{1, 2, 3 }, {4, 5, 6 }, {7, 8, 0 }}; DataNode top = new DataNode(data); // top.lagBarn(1); top.dump(); } } Jeg har nå kjørt koden litt, men det ser ut som at når jeg fase ut ” top.lagBarn(1);” , så kjøres ikke den delen av koden som liksom skal gjøre jobben med å søke i treet. Jeg må forklare litt hva de enkelte kodebitene er. if (data[0][0] == 0) forteller hvor 0 er på tabblen. Det er 9 slike biter med forskjellige verdier. I denne delen bytter man posisjon til tallene i tabellen 123 456 780 eks. tallene 1 og 2 bytter plass. Ja, jeg vet at det er komplisert. Det er derfor jeg har bedt om hjelp. int nyData1[][] = {{data[1][0],data[2][1],data[1][2]},{data[2][1],data[1][0],data[0][0]},{data[1][2],data[2] 1],data[2][2]}}; int nyData2[][] = {{data[0][1],data[1][0],data[2][0]},{data[0][1],data[1][0],data[2][0]},{data[0][1],data[1] 0],data[2][0]}}; Dette er det også 9 stykker av. Int nyData1 er første tabell. Int nyData2 er neste tabell. Neste int nyData1 bør helst være forrige int nyData2 etter det jeg har fått opplyst. Så derfor bør den delen som er faset ut være med. For jeg tror at det den biten av koden som gjør hele arbeidet. Lenke til kommentar
ruski Skrevet 15. november 2008 Forfatter Del Skrevet 15. november 2008 Den koden fungerer bare når jeg faser ut "top.lagBarn(1);". Hvorfor det? Det er vel ikke meningen!! Etter det jeg har forstått, så er dette et søk i et tre, eller hva?Er dette den første skoleoppgaven din? Det kan nok hende du må begynne på litt enklere oppgaver. Jeg forstår ikke hva oppgaven din går ut på, så jeg kan nok ikke hjelpe deg. Nei, det er ikke den første. Det skal bli 8-Puzzle Applet som jeg har nevnt før. Jeg har alle de andre kodedelene, men denne får jeg ikke til Lenke til kommentar
x871kx6167ss7 Skrevet 15. november 2008 Del Skrevet 15. november 2008 Er det meningen at programmet skal løse en 8-puzzle? Synes du kunne forklart litt bedre hva du skulle gjøre. Har desverre ikke noe tips å komme med, men det virker jo som et morsomt problem. Lenke til kommentar
pgdx Skrevet 15. november 2008 Del Skrevet 15. november 2008 Hvis det er 8-puzzle, skjønner jeg ihvertfall ikke hva du skal med alle 0 1 2 3 4 5 6 7 8. Lenke til kommentar
ruski Skrevet 15. november 2008 Forfatter Del Skrevet 15. november 2008 Hvis det er 8-puzzle, skjønner jeg ihvertfall ikke hva du skal med alle0 1 2 3 4 5 6 7 8. Det skal vise meg utskrift som forteller meg at koden fungerer. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå