Pages

Rabu, 08 Desember 2010

SPIRAL NUMBER 3-10, dari array [0][n-1]

spiral number, angka muter-muter mbulet mbulet, kayak ular lagi mlungker, dari sisi bawah kiri ke arah bawah kanan dan seterusnya muter sampai tengah, untuk dimensi 3 x 3 sampai 10 x 10, begini hasilnya :

untuk dimensi 5 x 5

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package SpiralenNumber;

import javax.swing.JOptionPane;

/**
 *
 * @author bapake-aisyah
 */
public class SpiralNumber {

    public static void main(String[] args) {

        String n = "";

        try {
            String input = JOptionPane.showInputDialog("mang lebetaken sembarang ongko, kangge sisi "
                    + "angka muter-muter :)" + "\n" + "ongko kedah langkung kaleh sakngandape sewelas");
            int a = Integer.parseInt(input);
            int kubusAngka[][] = new int[a][a];
            int batas = a * a;
            int sisi = a, x = sisi - 1, y = 0, nilai = 1;
            while (nilai <= batas) {
                if (a > 2 && a < 11) {
                    for (int j = 0; j < sisi; j++) {
                        kubusAngka[x][y++] = nilai++;
                    }

                    x--;
                    y--;



                    for (int j = 0; j < sisi - 1; j++) {
                        kubusAngka[x--][y] = nilai++;
                    }

                    x++;
                    y--;

                    for (int j = 0; j < sisi - 1; j++) {
                        kubusAngka[x][y--] = nilai++;
                    }

                    x++;
                    y++;

                    for (int j = 0; j < sisi - 2; j++) {
                        kubusAngka[x++][y] = nilai++;
                    }

                    x--;
                    y++;
                    sisi = sisi - 2;


                } else {
                    JOptionPane.showMessageDialog(null, "lha wong sampun dikandani tho, "
                            + "\n" + "kedah langkung saking ongko kaleh, sakngandape sewelas!");
                    JOptionPane.showMessageDialog(null, "LHA DALAH HWARAKADAH ...", "LHA!",
                            JOptionPane.INFORMATION_MESSAGE);
                    break;
                }

            }



            for (int i = 0; i <= a - 1; i++) {
                for (int j = 0; j <= a - 1; j++) {
                    n += String.valueOf(kubusAngka[i][j]) + "   ";
                    //System.out.print(kubusAngka[baris][kolom] + " ");
                }
                n += "\n";
            }


        } catch (NumberFormatException err) {
            JOptionPane.showMessageDialog(null, "lebetan sanes ongko!", "MBULET", JOptionPane.ERROR_MESSAGE);

        }

        JOptionPane.showMessageDialog(null, n, "ONGKO MBULET", JOptionPane.NO_OPTION);


    }
}

0 komentar:

Posting Komentar