İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

Eşkenar dörtgen şeklinde c# yıldız basmak

gifted

0
İyinet Üyesi
Katılım
5 Ocak 2005
Mesajlar
2,122
Reaction score
1
Konum
NeverLand
Kod:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ArtanAzalanEskenarYildiz
{
    class Program
    {
        static void Main(string[] args)
        {
            int sayac=0,digerSayac=0,yildizSayisi,azalanYildiz;
            int ortaSatir,ikiliArtan=1;
            Console.Write("1-19 arası bir sayı giriniz=");
            byte sayi = byte.Parse(Console.ReadLine());
            Console.WriteLine("\n");
            ortaSatir = sayi % 2;
            //ortaki satiri bulduk
            if (ortaSatir == 0)
            {
                ortaSatir = sayi / 2;
                yildizSayisi = sayi - 3; //Aşağı doğru yazdırırken kullanıcaz çiftlerde
            }
            else
            {
                ortaSatir = (sayi / 2) + 1;
                //ortadaki satir sonu
                yildizSayisi = sayi - 2;//Yine aşağıda kullanacağımız teklerde
            }
                do
            {
                sayac++;

                do
                {
                    digerSayac++;
                    Console.Write(" ");
                } while (digerSayac <= (ortaSatir - sayac));
                digerSayac = 0;
                for (int i = 0; i < ikiliArtan; i++) //2 artar şekilde yazdırmaya başlayalım
                {
                    Console.Write("*");
                }
                Console.WriteLine("\n");
                ikiliArtan += 2;
                
            } while (sayac < ortaSatir);
            //değişkenleri tekrar kullanmak için sıfırlıyoruz
            sayac = 0;
            digerSayac = 1;
            ikiliArtan = 0;
            do
            {
                digerSayac++;
                do
                {
                    //Önce azalan boşlukları yapıyoruz
                    Console.Write(" ");
                    sayac++;
                } while (sayac < digerSayac);
                sayac = 0;
                do
                {
                    sayac++;
                    //Burada orta kısmın bir alt satırına iniyoruz
                    azalanYildiz = yildizSayisi - sayac;
                    Console.Write("*");
                } while (azalanYildiz > 0);
                sayac = 0;
                //satırlara yıldız basmak için 2 azaltıyoruz.
                yildizSayisi -= 2;
                Console.WriteLine("\n");
            } while (digerSayac < ortaSatir);
            

        }
    }
}

Kod:
        *
      ***
    *****
  *******
*********
  *******
    *****
      ***
        *

Az önce yazdığım bir kod parçası,sorunsuz çalışmaktadır.C# yeni başlamak isteyenler için yararlı olabilir.Kodların arasına açıklama kodları ekledim.Ayrıca anlamadığınız yer olursa sorabilirsiniz.

Program girilen satır uzunluğu kadar yukarıda eşkenar dörgen şeklini basmaktadır.
 

gifted

0
İyinet Üyesi
Katılım
5 Ocak 2005
Mesajlar
2,122
Reaction score
1
Konum
NeverLand
şekil tam olarak doğru çıkmamış o şeklin yanınada aynı şekilden koyup birleştirin (yanına yansıması) :) yani eşkenar dörtgen yapın.Zaten programı kopyalayıp denerseniz hangi şekilden bahsettiğimi anlayacaksınız...
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Üst