{
int[] array10 = new int[n]; //instansiasi utk array fibonacci
int nT = (n - 1) / 2;
// buat array string alfabet
string[] alfabet = new string[] { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J" };
//buat deret fibonacci maju mundur
for (int i = 0; i < array10.Length; i++)
{
if (i <= nT)
{ //untuk array fibbonacci maju
if (i < 2)
array10[i] = 1;
else
array10[i] = array10[i - 2] + array10[i - 1];
}
else
array10[i] = array10[n - i - 1]; // untuk array fibunacci mundur
}
// array string 2D
string[,] array2D = new string[n, n];
//buat loopingan array 2D
int index1=0; // untuk membuat fibonacci di i genap
int index4 = 0; // untuk membuat alfabet di i ganjil
for (int i = 0; i < array2D.GetLength(0); i++)
{
int index2 = 0;// untuk membuat fibonacci di j genap
int index3 = 0;// untuk membuat alfabet di j ganjil
for (int j = 0; j < array2D.GetLength(1); j++)
{
if (i%2==0)
{
if (i <= j && i + j <= n - 1) //segitiga atas
array2D[i, j] = array10[index1].ToString();
else if (i >= j && i + j >= n - 1)//segitiga atas
array2D[i, j] = array2D[n - i - 1, j]; // ambil array2d dari segitga atas untuk dibalik i nya pada segitiga bawah
}
if (j%2==0)
{
if (i >= j && i + j <= n - 1) //segitiga kiri
array2D[i, j] = array10[index2].ToString();
else if (i <= j && i + j >= n - 1)//segitiga kanan
array2D[i, j] = array2D[i, n-j-1]; // ambil array2d dari segitga kiri untuk dibalik j nya pada segitiga bawah
index2++;
}
if (i % 2 == 1)
{
if (i <= j && i + j <= n - 1) //segitiga atas
array2D[i, j] = alfabet[index4];
else if (i >= j && i + j >= n - 1)//segitiga atas
array2D[i, j] = array2D[n - i - 1, j]; // ambil array2d dari segitga atas untuk dibalik i nya pada segitiga bawah
}
if(j%2==1)
{
if (i >= j && i + j <= n - 1) //segitiga kiri
array2D[i, j] = alfabet [index3];
else if (i <= j && i + j >= n - 1)//segitiga kanan
array2D[i, j] = array2D[i, n - j - 1]; // ambil array2d dari segitga kiri untuk dibalik j nya pada segitiga bawahindex2++;
index3++;
}
}
if (i % 2 == 0)
index1++;
if (i % 2 == 1)
index4++;
}
// menampilkan array
for (int i = 0; i < array2D.GetLength(0); i++)
{
for (int j = 0; j < array2D.GetLength(1); j++)
{
Console.Write(array2D[i, j] + "\t");
}
Console.WriteLine("\n");
}
}
