Tekil Mesaj gösterimi
  #1 (permalink)   iTrader 
Alt 2008-02-22, 20:03
Gifted.ib - ait Kullanıcı Resmi (Avatar)
Gifted.ib Gifted.ib isimli üyemiz çevrimdışıdır. (Offline)
Chuck Bartowski
 
Üyelik tarihi: Dec 2005
Nerden: NeverLand
Mesajlar: 2.227
Blog Entries: 1
Tecrübe Puanı: 5
iTrader: %100/11
Gifted.ib will become famous soon enoughGifted.ib will become famous soon enough
Standart Eşkenar dörtgen şeklinde c# yıldız basmak

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.

Konu Gifted.ib tarafından (2008-02-22 Saat 20:05 ) değiştirilmiştir..
Alıntı ile Cevapla