Hallo! Hallo!
Ketemu lagi nih di curhatan Ana Fitriana. Hehehe.
Hari ke-3 Bootcamp .Net oleh PT Xsis Mitra Utama. Baru hari
ke-3 loh.
Tadi belajar apaan, ya?
Kita masuk menu baru, yaitu Array. Mulai dari Array satu
dimensi sampai Array dua dimensi. –Array aja bisa ber-dua, masa kamu nggak?-.
Kita buat banyak looping-an, semakin banyak hal baru yang
dipelajari, tentunya tanpa melupakan pelajaran-pelajaran yang lalu. Jadinya terus-menerus
terulang, sehingga nggak terlupakan. Aih, puitis banget kayaknya hari ini.
Tapi sayang banget. Pak Pur, mentor tercinta kita ada tugas
negara, jadi nggak bisa menemani sampai akhir acara. Pada akhirnya kita
mengerjakan sendirilah Materi Logic 3 ttg Array dua dimensi. Jadi, dari 10
soal, masing-masing dari kita pegang satu-satu dan diminta untuk menerjakan
serta menjelaskan di depan kelas.
Pas giliran Ana, hmmm... Grogi euy! Karena belum hafal
banget sama istilah-istilah IT-nya. Jadi, menjelaskannya juga seperti itulah...
biarkan teman-teman sekelas dan Pak Pur saja yang tahu. Hehehe..
So, kita ngoding bareng-bareng sampai jam pulang tiba. Sayangnya,
dari 10 soal yang diminta, baru 9 soal terselesaikan. Sempat Ana coba
mengerjakan soal ke-10, tapi sampai sore tadi nggak ketemu-ketemu. Padahal kalau
kata Pak Pur soalnya “So Easy!”.
Karena penasaran, masih aja dilanjut ngoding di kosan. Dan....
Yeah! Ketemu :D
Jadi bentuk yang ingin dicari tuh seperti ini:
Trus kodingannya, kira-kira begini:
---------------------
static void Soal10(int n)
{
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");
}
}
{
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");
}
}
--------------------------------------
Coba kita run ya :D
Jadi, kan jadi... XD
Tapi kodingan ini selesai juga karena bantuan teman-teman
semua. Terimakasih banyak.
Segini dulu, deh ya curhatnya. Biar nggak bosen, jadi ngak
usah banyak-banyak dulu. Hehehe..
~Mata Ashita~
0 komen:
Posting Komentar