#include <iostream> #include <cstdlib> using namespace std; /* Soal: Diberikan input N (N >= 3), buat N-1 buah segitiga sama sisi dengan panjang sisi = N. Segitiga ke-2, ke-3, dst diletakkan sedemikian rupa sehingga gabungan salah satu sisi dari semua segitiga yang ada membentuk garis lurus. Contoh input: N = 3 Contoh output: * * * * * * * * * * * * Algoritma: Tampilkan N-1 buah segitiga di mana segitiga ke-k (k = 1, 2, 3, ..., N-1) memiliki jarak ((k - 1) * N) spasi dari kiri. Segitiga dibentuk dengan karakter spasi dan bintang. Baris ke-i (i = 1, 2, 3, ..., N) dalam sebuah segitiga berisi (N - i) spasi yang diikuti i buah bintang. Antara bintang yang satu dengan bintang yang lainnya, dipisahkan oleh 1 spasi. */ int main() { int N; cout << "N = "; cin >> N; if (N >= 3) { for (int k = 1; k <= (N - 1); k++) { for (int i = 1; i <= N; i++) { int kiri = (k - 1) * N; // jarak segitiga ke-k dari kiri (k = 1, 2, 3, ..., N-1) for (int j = 1; j <= kiri; j++) { cout << " "; } int spasi = N - i; // spasi sebelum bintang pertama pada baris ke-i dalam segitiga (i = 1, 2, 3, ..., N) for (int j = 1; j <= spasi; j++) { cout << " "; } // bintang pada baris ke-i dalam segitiga (i = 1, 2, 3, ..., N) berikut 1 spasi for (int j = 1; j <= i; j++) { cout << "* "; } cout << endl; } } } else { cout << "N harus >= 3!" << endl; } cout << endl; system("pause"); }
Kamis, 05 Januari 2012
Langganan:
Posting Komentar (Atom)
Tidak ada komentar:
Posting Komentar