Pertanyaan
cout << "Masukkan jumlah baris (n): "; cin >> n; while (n<0) ( cout <<"Masukkan bilangan positif: "; cin >> n; ) for (int 1 -1; 1 n; 1++) ( for (int j =0; y<=n; j4) ( cout ) for (ntk=8;k<c)(2*n+1); k=1)( ) cout << endl; ) for (int i =n; 1 <0; 1 -) ( for (int j =n; j > 1;j -) ( cout )
Solusi
Jawaban
Kode yang Anda berikan memiliki beberapa kesalahan sintaks dan logika. Berikut adalah kode yang diperbaiki dan penjelasannya:```c++#include using namespace std;int main() { int n; cout > n; // Validasi input untuk memastikan n positif while (n > n; } // Loop untuk mencetak baris atas segitiga for (int i = 1; i = 1; i--) { // Loop untuk mencetak spasi for (int j = 1; j <= n - i; j++) { cout << " "; } // Loop untuk mencetak bintang for (int j = 1; j <= 2 * i - 1; j++) { cout << "*"; } cout << endl; } return 0;}```**Penjelasan Kode:**1. **Validasi Input:** Kode ini memastikan bahwa pengguna memasukkan bilangan positif untuk jumlah baris (n). Jika pengguna memasukkan bilangan negatif, program akan meminta input lagi hingga bilangan positif dimasukkan.2. **Loop Baris Atas:** Loop pertama mencetak baris atas segitiga. - Loop `for (int j = 1; j <= n - i; j++)` mencetak spasi di awal setiap baris. Jumlah spasi berkurang seiring dengan bertambahnya baris. - Loop `for (int j = 1; j <= 2 * i - 1; j++)` mencetak bintang. Jumlah bintang meningkat seiring dengan bertambahnya baris.3. **Loop Baris Bawah:** Loop kedua mencetak baris bawah segitiga. - Loop `for (int j = 1; j <= n - i; j++)` mencetak spasi di awal setiap baris. Jumlah spasi berkurang seiring dengan bertambahnya baris. - Loop `for (int j = 1; j <= 2 * i - 1; j++)` mencetak bintang. Jumlah bintang meningkat seiring dengan bertambahnya baris.**Contoh Output:**Jika pengguna memasukkan `n = 5`, maka outputnya akan menjadi:``` * *** ***** **************** ******* ***** *** *```Kode ini akan mencetak segitiga sama kaki dengan jumlah baris yang ditentukan oleh pengguna.