membuat pola segitiga siku-siku di c++

Pada tutorial kali ini, Anda akan dituntun untuk membuat berbagai macam pola menggunakan C++.


Sebelum memulai tutorial ini, pastikan bahwa anda telah menguasai:
  • Dasar Input/Output di C++
  • Variable di C++
  • Looping For dan Nested For

Pertama-tama kita menyediakan kode-kode dasar dalam pembuatan program C++
1
2
3
4
5
6
7
8
9
#include <iostream>
  
using namespace std;
  
int main() {
    int i,j,n;
  
    return 0;
}

Lalu kita akan membuat pola segitiga siku-siku. Namun sebelum itu, kita harus mengetahui cara membuat pola persegi terlebih dahulu
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
  
using namespace std;
  
int main() {
    int i,j,n;
    cout << "Masukkan nilai N: ";
    cin >> n;
    for (i=1;i<=n;i++) {
        for (j=1;j<=n;j++) {
            cout << "*";
        }
        cout << endl;
    }
  
    return 0;
}
Output program diatas adalah:
1
2
3
4
5
6
Masukkan nilai N: 5
*****
*****
*****
*****
*****

Lalu kita akan memotong persegi itu secara diagonal. Ini dapat dilakukan dengan mengubah batas-batas pada counter for kedua (dalam hal ini adalah for dengan counter J).
Jika kita mengubah code menjadi:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
  
using namespace std;
  
int main() {
    int i,j,n;
    cout << "Masukkan nilai N: ";
    cin >> n;
    for (i=1;i<=n;i++) {
        for (j=1;j<=i;j++) {
            cout << "*";
        }
        cout << endl;
    }
  
    return 0;
}
maka output program akan menjadi:
1
2
3
4
5
6
Masukkan nilai N: 5
*
**
***
****
*****

Kita juga bisa bereksperimen dengan batas-batas tersebut.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
  
using namespace std;
  
int main() {
    int i,j,n;
    cout << "Masukkan nilai N: ";
    cin >> n;
    for (i=1;i<=n;i++) {
        for (j=i;j<=n;j++) {
            cout << "*";
        }
        cout << endl;
    }
  
    return 0;
}
akan menghasilkan:
1
2
3
4
5
6
Masukkan nilai N: 5
*****
****
***
**
*

Jika kita ingin membuat posisinya rata ke kanan, kita harus membuat sebuah segitiga untuk meratakan bagian kiri.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
  
using namespace std;
  
int main() {
    int i,j,n;
    cout << "Masukkan nilai N: ";
    cin >> n;
    for (i=1;i<=n;i++) {
        for (j=i;j<n;j++) {
            cout << "."; // segitiga kiri
        }
         
        for (j=1;j<=i;j++) {
            cout << "*"; // segitiga kanan
        }
        cout << endl;
    }
  
    return 0;
}
akan menghasilkan:
1
2
3
4
5
6
Masukkan nilai N: 5
....*
...**
..***
.****
*****

Dengan mengganti karakter yang dicetak pada segitiga kiri menjadi spasi (" "), maka anda akan mendapatkan hasil seperti:
1
2
3
4
5
6
Masukkan nilai N: 5
    *
   **
  ***
 ****
*****


Dengan menggunakan cara-cara diatas, anda dapat membuat pola-pola gabungan seperti:
1
2
3
4
5
6
7
8
9
    *
   ***
  *****
 *******
*********
 *******
  *****
   ***
    *
1
2
3
4
5
6
7
8
9
*******
* ***** *
** *** **
*** * ***
**** ****
*** * ***
** *** **
* ***** *
 *******
Previous
Next Post »
0 Komentar