Bu örnekler, for döngülerinin ve if-else karşılaştırmalarının iç içe kullanılarak temelden karmaşığa doğru dört farklı şekilde dörtgen çizilmesini gösterir.
Aşağıdaki örnek, satırlar ve sütunlar için iç içe for döngüsü oluşturularak dörtgen içeriğinin tamamının doldurulmasını gösterir.
static void Main()
{
int sonSutun = 20; // Genişlik
int sonSatir = 10; // Yükseklik
char dolgu = '#'; // Dolgu karakteri
for (int satir = 1; satir <= sonSatir; satir++) // 10 tur çalışır
{
for (int sutun = 1; sutun <= sonSutun; sutun++) // 10 x 20 = 200 tur çalışır
{
Console.Write(dolgu);
}
Console.WriteLine(); // Sütun döngüsünden sonra, sonraki satıra geçiliyor.
}
Console.ReadKey();
}
/*
####################
####################
####################
####################
####################
####################
####################
####################
####################
####################
*/
Bu örnek, iç içe for döngüleri içinde if-else karşılaştırma ifadeleri kullanılarak, karenin sadece kenarlıklarının çizilmesini gösterir.
static void Main()
{
int sonSutun = 20; // Genişlik
int sonSatir = 10; // Yükseklik
char kenar = '#'; // Kenarlık karakteri
char dolgu = ' '; // İç dolgu karakteri olarak boşluk belirleniyor.
for (int satir = 1; satir <= sonSatir; satir++)
{
for (int sutun = 1; sutun <= sonSutun; sutun++)
{
if (satir == 1 || satir == sonSatir) // İlk veya son satır ise, ...
{
Console.Write(kenar);
}
else if (sutun == 1 || sutun == sonSutun) // İlk veya son sütun ise, ...
{
Console.Write(kenar);
}
else Console.Write(dolgu);
}
Console.WriteLine(); // Ekranda sonraki satıra geçiliyor.
}
Console.ReadKey();
}
/*
####################
# #
# #
# #
# #
# #
# #
# #
# #
####################
*/
Bu örnek, iç içe iki for döngüsü içinde if-else karşılaştırma ifadeleri kullanılarak, dörtgen köşelerinin daha kontrollü bir şekilde özel ASCII karakterler ile çizilmesini gösterir.
static void Main()
{
int sonSutun = 20; // Genişlik
int sonSatir = 10; // Yükseklik
char dolgu = '#'; // İç dolgu karakteri olarak diyez belirleniyor.
char ustSol = '╔'; // 201
char ustSag = '╗'; // 187
char altSol = '╚'; // 200
char altSag = '╝'; // 188
char yatay = '═'; // 205
char dikey = '║'; // 186
for (int satir = 1; satir <= sonSatir; satir++)
{
for (int sutun = 1; sutun <= sonSutun; sutun++)
{
if (satir == 1)
{
if (sutun == 1) // İLK satırın İLK sütunu ise, ...
{
Console.Write(ustSol);
}
else if (sutun == sonSutun) // İLK satırın SON sütunu ise, ...
{
Console.Write(ustSag);
}
else // İLK satırın arada kalan sütunları ise, ...
{
Console.Write(yatay);
}
}
else if(satir== sonSatir)
{
if (sutun == 1) // SON satırın İLK sütunu ise, ...
{
Console.Write(altSol);
}
else if (sutun == sonSutun) // SON satırın SON sütunu ise, ...
{
Console.Write(altSag);
}
else // SON satırın arada kalan sütunları ise, ...
{
Console.Write(yatay);
}
}
else
{
if(sutun==1 || sutun == sonSutun) // Aradaki satırların İLK ve SON sütunları ise, ...
{
Console.Write(dikey);
}
else
{
Console.Write(dolgu); // Kenarlardan sonra geriye kalan iç bölüm ise, ...
}
}
}
Console.WriteLine(); // Ekranda sonraki satıra geçiliyor.
}
Console.ReadKey();
}
/*
╔══════════════════╗
║##################║
║##################║
║##################║
║##################║
║##################║
║##################║
║##################║
║##################║
╚══════════════════╝
*/
Bu örnek, satır ve sütunlar için oluşturulan iç içe iki for döngüsü içinde, dörtgenin tüm köşellerinin ve tüm kenarlarının if-else karşılaştırma ifadeleri kullanılarak, özel ASCII karakterler ile çok daha belirli/kontrollü bir şekilde çizilmesini gösterir.
static void Main()
{
int sonSutun = 20; // Genişlik
int sonSatir = 10; // Yükseklik
char dolgu = '╬'; // 206
//char dolgu = ' ';
char koseUstSol = '╔'; // 201
char koseUstSag = '╗'; // 187
char koseAltSol = '╚'; // 200
char koseAltSag = '╝'; // 188
char kenarUst = '╦'; // 203
char kenarAlt = '╩'; // 202
char kenarSol = '╠'; // 204
char kenarSag = '╣'; // 185
for (int satir = 1; satir <= sonSatir; satir++)
{
for (int sutun = 1; sutun <= sonSutun; sutun++)
{
if (satir == 1)
{
if (sutun == 1) // İLK satırın İLK sütunu ise, ...
{
Console.Write(koseUstSol);
}
else if (sutun == sonSutun) // İLK satırın SON sütunu ise, ...
{
Console.Write(koseUstSag);
}
else // İLK satırın arada kalan sütunları ise, ...
{
Console.Write(kenarUst);
}
}
else if(satir== sonSatir)
{
if (sutun == 1) // SON satırın İLK sütunu ise, ...
{
Console.Write(koseAltSol);
}
else if (sutun == sonSutun) // SON satırın SON sütunu ise, ...
{
Console.Write(koseAltSag);
}
else // SON satırın arada kalan sütunları ise, ...
{
Console.Write(kenarAlt);
}
}
else
{
if (sutun == 1) // Aradaki satırların İLK sütunları ise, ...
{
Console.Write(kenarSol);
}
else if(sutun== sonSutun) // Aradaki satırların SON sütunları ise, ...
{
Console.Write(kenarSag);
}
else
{
Console.Write(dolgu); // Kenarlardan sonra geriye kalan iç bölüm ise, ...
}
}
}
Console.WriteLine(); // Ekranda sonraki satıra geçiliyor.
}
Console.ReadKey();
}
/*
╔╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╗
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╚╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╝
*/