Selamat membaca dan semoga dapat bermanfaat bagi anda !

Tuesday, 1 March 2016

MEMBUAT ANGKA BERBENTUK BELAH KETUPAT PADA C++

Berikut ini akan saya bagikan script yang saya buat sendiri untuk membentuk belah ketupat dari deretan angka sesuai dengan input jumlah angka oleh user. Contoh di bawah ini merupakan contoh dengan input user yaitu 5.

Logika sederhananya adalah :

1. Yang pasti kita akan menggunakan pengulangan FOR
2. Karena output yang kita hasilkan akan seperti ini dengan contoh input angka 5


   Maka kita harus membuat deret pertama dulu dari atas yang hanya ada angka satunya. Karena jarak angka 1 tepat di angka 5 ditengah dalam artian 4 spasi kosong kemudian angka 1. Kita harus membuat 4 spasi dulu dengan perulangan FOR kemudian baru buat lagi angka 1.
3. Untuk baris 2 sama saja kita membuat 3 spasi kosong terlebih dahulu baru angka 1 dan 2 kemudian membuat angka ulang 1 dengan perulangan FOR kembali
4. Kita akan memanfaatkan input angka dari user (n) dalam perulangan FOR

Berikut ini merupakan sintak pada C++ untuk membuat tampilan di atas, bentuk belah ketupat tergantung dari input user. Misal input 3 maka deret belah ketupat akan sampai angka 3 saja.

Sourcode :


#include <iostream>

using namespace std;

int main()
{
    int a, b, i, j, n, z;
    int val1, val2, val3, val4, val5;

    cout << "Masukkan nilai     : ";
    cin >> n;
    cout << endl;
    cout << "\t\t\t\t";

// Membentuk bagian atas
    for(i = n; i > 0; i--)
    {
        // Membentuk spasi kosong di depan angka
        val1 = i-1;
        for(j = 1; j <= val1; j++)
        {
            cout <<" ";
        }

        // Membentuk angka setelah spasi
        val2 = n-val1;
        for(a = 1; a <= val2; a++)
        {
            cout <<a;
        }

        // Membentuk angka perulangan setelah batas tengah
        val3 = val2-1;
        for(b = val3; b >= 1; b--)
        {
            cout <<b;
        }

        cout << endl;
        cout << "\t\t\t\t";
    }

// Membentuk bagian bawah
    z = n-1;
    for(i = z; i > 0; i--)
    {
        val4 = n-i;
        for(j = 1; j <= val4; j++)
        {
            cout <<" ";
        }

        for(a = 1; a <= i; a++)
        {
            cout <<a;
        }

        val5 = i-1;
        for(b = val5; b >= 1; b--)
        {
            cout <<b;
        }

        cout << endl;
        cout << "\t\t\t\t";
    }

        cout << endl;
        cout << endl;

    return 0;

}




2 comments:

  1. Error min dari codingan yang

    //membentuk bagian bawah
    z = n-1;

    Error di rumus z nya

    ReplyDelete
    Replies
    1. udah di copy semua gak gan ? errornya apa ? mungkin ada yang ketinggalan deklarasinya, ane coba copy build lagi gak ada mslah kok gan...

      Delete