bylge-logo

    Bylge

    Verilecek Kenar Uzunluğuna Göre Kare Çizen C Programı

    Merhabalar arkadaşlar, Sizlere C programlama dilinde kullanıcıdan aldığımız kenar uzunluğuna eşdeğer olarak “*” (yıldız) karakteriyle kare çizmeyi anlatacağım.

    Picture of the inadınayazar

    inadınayazar

    @matul

    Merhabalar arkadaşlar,

    Sizlere C programlama dilinde kullanıcıdan aldığımız kenar uzunluğuna eşdeğer olarak “*” (yıldız) karakteriyle kare çizmeyi anlatacağım.Ezbere gitmek bize hiçbir şey kazandırmaz. O yüzden bu işin mantığınıda anlatıyor olacağım. İlk olarak matris kavramını daha önceden biliyorsak anlamakta zorluk çekmeyeceğiz. Bilmeyenler için matris in ne olduğunu sadece şu görselle açıklamak bizim için yeterli olacaktır.


    Verilecek_Kenar_Uzunluğuna_Göre_Kare_Çizen_C_Programı

    Şekil Ada a11 den kasıt a nın 1.satır 1.sütunda olduğunu göstermektir. Örnek olarak a23 2.satır 3.sütünda olduğunu gösterir bunu bilmek bize yeticektir.Matris kavramını açıklamamın nedeni örneğimizin bu şekilde daha iyi anlıyor olucağınızı düşündüğümden.

    Verilecek_Kenar_Uzunluğuna_Göre_Kare_Çizen_C_Programı


    Şimdi ise örnek olarak;

    Kullanıcının karenin kenarlarının 4 birim uzunluğunda olmasını istediğini düşünelim. Ve bizimde ekranda ona göstermek istediğimiz şey şekil B deki gibi olmalı peki ya nasıl? Bazı koşullar var elbette. Bazı yerlere yıldız bazı yerlere ise boşluk karekterinin gelmesi gerekiyor bu koşulları şimdi anlamaya çalışalım şekle biraz dikkat edersek yıldız nerelere gelmeli? Tabi bu şeklide bir matris olarak düşünelim 1.satır ve 4. Satır yani son satırımızn ek olarak 1.sütun ve 4.sütun yani son sütunumuzn komple yıldızlarla dolması gerekiyor. Evet yavaştan anladığınızı hissediyorum.

    Biraz daha açarsak bazı koşullarımız oluşuyor gibi.Öyle ise ;



    Aksi durumlarda ise boşluk gelmeli.şimdi bunları bilgisayarın anlayacağı dile çevirmek kaldı. Kodlarımız şu şekilde olmalı


    #include

    int main() {

    int sayi,i,j;

    printf("Karenin kenar uzunluğunu giriniz:");

    scanf("%d",&sayi);

    for(i=1; i<=sayi; i++) // Burayı satır olarak düşünmeliyiz. {

    for(j=1; j<=sayi; j++) // Burası i. satırın j. sırasındaki * yada bosluk karakteri

    {

    if(i==1||i==sayi || j==1||j==sayi) // Eğer ilk satırda yada son satırda ise veya ilk sutun ve son sutunda ise

    printf("*"); // yıldız yaz

    else //aksi halde boşluk bırak

    printf(" "); // bosluk yaz

    } printf("\n");

    }

    }

    Published Date:

    September 19, 2020

    Updated Date:

    December 09, 2023