Online C Compiler
Buka di kompiler

Edisi pembelajaran bahasa Indonesia. Kode dan keluarannya tetap seperti aslinya.

Pola karakter dalam C

Atur baris, kolom, spasi, dan pergantian baris menggunakan perulangan bersarang.

Buka di kompiler

Pola karakter dalam C
Atur baris, kolom, spasi, dan pergantian baris menggunakan perulangan bersarang.

Perulangan luar biasanya menentukan baris, sedangkan perulangan dalam menentukan karakternya. Sebelum menulis program, nyatakan jumlah spasi dan simbol setiap baris berdasarkan indeksnya.

Cetak pergantian baris setelah satu baris selesai, bukan setelah setiap simbol. Bedakan spasi awal, pemisah, dan spasi akhir, terutama jika keluaran dibandingkan otomatis.

Uji ukuran 1, 2, dan lebih besar. Pola dengan N baris dan hingga N simbol per baris memerlukan O(N²) operasi keluaran; seluruh gambar tidak harus disimpan dalam memori.

Kode C

#include <stdio.h>

void print_right_pyramid(int rows) {
    printf("1. Right-Half Star Pyramid (Rows = %d):\n", rows);
    for (int i = 1; i <= rows; i++) {
        for (int j = 1; j <= i; j++) {
            printf("* ");
        }
        printf("\n");
    }
}

void print_full_pyramid(int rows) {
    printf("\n2. Full Centered Star Pyramid (Rows = %d):\n", rows);
    for (int i = 1; i <= rows; i++) {
        for (int space = 1; space <= rows - i; space++) {
            printf("  ");
        }
        for (int j = 1; j <= 2 * i - 1; j++) {
            printf("* ");
        }
        printf("\n");
    }
}

void print_floyd_triangle(int rows) {
    printf("\n3. Floyd's Number Triangle (Rows = %d):\n", rows);
    int num = 1;
    for (int i = 1; i <= rows; i++) {
        for (int j = 1; j <= i; j++) {
            printf("%-3d", num++);
        }
        printf("\n");
    }
}

int main(void) {
    int rows = 5;
    print_right_pyramid(rows);
    print_full_pyramid(rows);
    print_floyd_triangle(rows);
    return 0;
}
Buka di kompiler

Keluaran yang diharapkan

1. Right-Half Star Pyramid (Rows = 5):
* 
* * 
* * * 
* * * * 
* * * * * 

2. Full Centered Star Pyramid (Rows = 5):
        * 
      * * * 
    * * * * * 
  * * * * * * * 
* * * * * * * * * 

3. Floyd's Number Triangle (Rows = 5):
1  
2  3  
4  5  6  
7  8  9  10 
11 12 13 14 15 

Pertanyaan umum

Mengapa kode dan keluarannya tetap dalam bahasa Inggris?

Kata kunci, pengenal, dan teks yang diperiksa tes dipertahankan agar program tidak berubah. Penjelasan dan kontrol telah diterjemahkan.