Kemarin saya telah menjelaskan tentang algoritma segitiga pascal menggunakan array. Namun setahu saya algoritma seperti itu memiliki beberapa kekurangan, yakni batas yang harus ditentukan sehingga dalam rentang tertentu program error.
Saya telah mencari solusi dari kesalahan itu dan menemukan program pascal tanpa array. Program ini bisa berjalan tanpa memasukkan batas juga benyuknya sudah menyerupai yang diharapkan yakni segitiga samasisi.
Langsung saja:
#include<stdio.h>
int main()
{
int nilai,a;
scanf("%i", &nilai);
for (int i=0; i<=nilai; i++)
{
for (int k=0; k<=((2*nilai)-(2*i)); k++)
{
printf(" ");
}
for (int j=0; j<=i; j++)
{
if (j==0||i==j)
{
a=1;
}else{
a=a*(i+1-j)/j;
}
printf("%7i", a);
}printf("\n");
}
}
Bagian for (int k=0; k<=((2*nilai)-(2*i)); k++ Menjelaskan perulangan untuk spasi bentuk segitiga. Bentuk segitiga samasisi didapat dari perulangan ini.
for (int j=0; j<=i; j++)
{
if (j==0||i==j)
{
a=1;
}else{
a=a*(i+1-j)/j;
menjelaskan perulangan segitiga dimana ketika nilai j==0 atau i==j maka nilai cetak/a bernilai satu (1), selain itu cetak a=a*(i+1-j)/j;
Search This Blog
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment