Breaking News

Program C++ : Membuat Spiral Matrix

kemaren ada yang reques program mebuat spiral matrix yang outputnya :
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9

ga sengaja iseng-iseng googling, eh nemu syntax coding yang mirip. Tapi belum nemu, bagaimana cara menginputkan dari user. Kalau ada yang bisa, share di sini yak.

Untuk sementara saya share coding yang sudah di tentukan oleh program, kalau inputan yang di berikan adalah 5.
#include <iostream.h>
#include <conio.h>
void main()
{
int d[5][5]; //angka 5 bisa di ganti
int start = 1;
int count = start;

for (int i=0; i<5; i++) {

// pengaturan bagian atas
for (int j=i; j<5-i; j++)
d[i][j] = count++;
count--;

// pengaturan bagian kanan
for (int j=i; j<5-i; j++)
d[j][5-i-1] = count++;
count--;

// pengaturan bagian bawah
for (int j=5-i-1; j>=i; j--)
d[5-i-1][j] = count++;
count--;

// pengaturan bagian kiri
for (int j=5-i-1; j>i; j--)
d[j][i] = count++;

if (count > 5*5+start)
break;
}

for (int i=0; i<5; i++) {
for (int j=0; j<5; j++) {
cout << d[i][j] << " ";
}
cout << endl;
}

getch();
}


Refrensi:
http://www.cplusplus.com/forum/general/4868/

4 komentar:

  1. wah mantep gan thx ya bwt codingan nya.. bisa jadi inspirasi nih bwt tgs ane.. (yaah tugasnya mirip si) :d: arigatou gozaimasu :d:

    BalasHapus
  2. gan ane nemu caranya input dari user:
    ----------------------------------------
    #include
    #include
    void main()
    {
    int n;
    int d[100][100]; //angka 100 bisa di ganti
    int start = 1;
    int count = start;
    cout<<"masukan data : ";cin>>n;
    for (int i=0; i=i; j--)
    d[n-i-1][j] = count++;
    count--;

    // pengaturan bagian kiri
    for (int j=n-i-1; j>i; j--)
    d[j][i] = count++;

    if (count > n*n+start)
    break;
    }

    for (int i=0; i<n; i++) {
    for (int j=0; j<n; j++) {
    cout << d[i][j] << " ";
    }
    cout << endl;
    }

    getch();
    }

    BalasHapus
  3. thanks gan.. ntar ane posting biar nambah arsip nie blog hehhee :g:

    BalasHapus
  4. gimana cara membuat bentuk segiitiga sama kaki, sembarang juga belah ketupat tapi dengan meggunakan angaka 1 s/d 10.

    BalasHapus