Monday, July 30, 2012

10'luk tabana çevirme programı

1.örnek:  2'lik tabanda yazılan sayıyı 10'luk tabana çeviren program;


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace onluktabanacevir
{
    class Program
    {
        static void Main(string[] args)
        {
            int uzunluk, i, sonuc = 0;
            string sayi;
            int ara, a, taban = 2;

            Console.Write("10luk Tabana cevrilecekse sayi:");
            sayi = Console.ReadLine();

            uzunluk = sayi.Length - 1;
            int son = Convert.ToInt32(sayi[uzunluk].ToString());
            for (i =uzunluk-1; i >=0 ; i--)
            {
                int ussu = 1; /* iç içe for da değişkene yeni değer atıcaksak birinci for'içinde tanımlamamız gerekir,
                                   aksi halde değişkenin aldığı değer sıfırlanmadan döngü devam eder. */
                ara = Convert.ToInt32(sayi[i].ToString());
                for (a = uzunluk - 1; a>= i;  a--)
                {
                    ussu = (taban * ara * ussu);
                }

                sonuc = sonuc + ussu;
            }

            Console.WriteLine(sonuc + son);

            Console.ReadLine();

        }

    }
}

2'lik tabana çevirme programı (C#)


1.örnek: 10luk tabanda yazılan sayıyı 2lik tabana çeviren program;

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ikiliktabanacevir
{
    class Program
    {
        static void Main(string[] args)
        {
            int sayi, bolum, kalan;

            string sonuc="" , kalann;

            Console.Write("2lik tabana cevrilcek sayi: ");
            sayi= Convert.ToInt32(Console.ReadLine());

            while(sayi>=2){

                bolum = sayi / 2;  /* bolum degiskenine değer atamasını bir döngü içersinde yaptığımız için sadece
                                           döngü içesinde  kullanabiliriz aksi halde alan dışında kullanıldı uyarısı alırız. */
                kalan = sayi % 2;
                kalann= kalan.ToString();
                sonuc = kalan + sonuc;

                sayi = bolum;
            }
           
            Console.Write( sayi + sonuc); /* bolum degiskenini disarda kullanamacigimiz icin son bolum degerini 
                                                          sayi degerine atadığımızdan sonucun basına sayi(bolum) degerini 
                                                          yazdırdık. */

            Console.ReadLine();

        }

    }
}

Saturday, July 21, 2012

Fibonacci serisini bulan program (C#)


Fibonacci sayıları son iyi sayının toplamanın bir sonraki sayıyı verdiği sayılardır. 0 1 den başlayan seri 0+1=1
0 1 1 ( 1+1 =2 ) 0 1 1 2 ( 1+2= 3 ) 0 1 1 2 3 şeklinde sıralanır.

Örnek: Fibonacci serisini bulan program;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace fibonacci
{
    class Program
    {
        static void Main(string[] args)
        {

            int i, adet;
            int a=0, b=1,c;
            Console.Write("kac adet sayi goruntulensin?");
            adet = Convert.ToInt32(Console.ReadLine());

            Console.Write(a + " " + b + " ");

            for (i = 3; i <= adet; i++)
            {
                c = a + b;

                Console.Write(c+" ");

                a = b;
                b = c;
            }

                Console.ReadLine();
        }
    }
}

Döngüler ile Örnekler (C#)


1.Örnek:  tersinin 4 ile çarpımı kendisine eşit olan 4 basamaklı sayıyı bulan program;

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ornek
{
    class Program
    {
        static void Main(string[] args)
        {
            int sayi, i, sonuc;
            string ara;

            for (sayi = 1000; sayi <= 9999; sayi++)
            {
                ara = sayi.ToString();
                string ters = "";

                for (i = 3; i >= 0; i--)
                {
                    ters = ters + ara[i].ToString();
                }

                sonuc = Convert.ToInt32(ters);

                if ((sonuc * 4) == sayi)
                {
                    Console.WriteLine(sayi);
                    break;
                }
            }

            Console.ReadLine();
        }
    }
}

2.Örnek: satır sayısı kadar yıldız yazdıran program;

A. İç içe for kullanarak;

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int i, k, adet;

            Console.Write("kac satir yildiz olsun?: ");
            adet=Convert.ToInt32(Console.ReadLine());

            for (i = 1; i <= adet; i++)
            {
                for (k = 1; k <= i; k++)
                {
                    Console.Write("*");
                }

                Console.WriteLine();
            }

            Console.ReadLine();
        }
    }
}

B. Tek for kullanarak;

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ornek
{
    class Program
    {
        static void Main(string[] args)
        {
            int i ,a;
            string sonuc="";

            Console.Write("kac satir olsun?: ");
            a = Convert.ToInt32(Console.ReadLine());

            for (i = 1; i <= a; i++ )
            {

                sonuc = sonuc + "*";
                Console.WriteLine(sonuc);
                
            }
            
                Console.ReadLine();
        }
    }
}

Sınırsız boyuttaki sayıları toplayan program (C#)

1. Örnek: Sınırız boyuttaki  sayıları toplayan program;


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace sinirsiz
{
    class Program
    {
        static void Main(string[] args)
        {
            string sayi1, sayi2, sonuc = "";   /* string türünde içi boş olan sonuc tanımladık */

            int uzunluk, i, arasonuc;
            int elde = 0;

            Console.Write("1. sayiyi giriniz: ");
            sayi1 = Console.ReadLine();

            Console.Write("2. sayiyi giriniz: ");
            sayi2 = Console.ReadLine();

            uzunluk = sayi1.Length;  /* birinci sayının uzunlugunu aldık */

            for (i = uzunluk - 1; i >=0;  i--)   /* uzunluk 0 dan başlamadığı için -1 yaptık */
            {

               arasonuc = (Convert.ToInt32(sayi1[i].ToString())) + (Convert.ToInt32(sayi2[i].ToString())) +
                                   elde; /* sayi birin tek tek elemanlarını sayi ikinin elemanları ile toplattık. eldeyi de 
                                  toplama ekledik. */

                sonuc = arasonuc % 10 + sonuc;  /* sonucta tek tek toplama yaptığımız değerin tek elemanın 
                                                                    alcağımız için aratoplamın 10a göre modunu aldık. */

                if (arasonuc >= 10)  /* aratoplam 10dan büyük ise elde mizi 1 yaptık . */
                {
                    elde = 1;
                }
            }

            if (elde == 1)   /* sonunda elde değerimiz bir ise sonuc değerinin önüne yazdırdık. */
            {
                sonuc = elde + sonuc;
            }

            Console.WriteLine(sonuc);
            Console.ReadLine();
        }
    }
}


Saturday, July 14, 2012

Random sayı üretme (C#)


Random sayı üretme methodu ile belli bir değişkene sınırlarını belirledigimiz sayı aralığında rastgele bir değer atanır.
Random sayi üretme methodu:

Random rnd = new Random();  
int rastgele_sayi = rnd.Next(100);
şeklinde oluşturulur. bu komut rastgele_sayi değerine 0-100 arası bir değer atayacaktır. rnd.Next(10,20) komutu ise
değişkene 10-19 arası, rnd.Next() konutu ise 0 - sonsuz  arası bir değer atayacaktır.

örnek: 1-100 arası random sayı üreten, ve bu sayıyı kullanıcıya tahmin ettirmeye çalışan program;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace random
{
    class Program
    {
        static void Main(string[] args)
        {
            int rastgele_sayi;
            int tahmin=0;               /* tahmin değerini kullanıcıdan almadan önce kullanacağımız için bir baslangic
                                           degeri verdik. */
       
            Random rnd = new Random();   /* rnd adlı random sayi oluşturma methodu yarattik. */
            rastgele_sayi = rnd.Next(100);  /* rastgele_sayi degerine (0-100) arasından önceden 
                                                             olusturdugumuz  rnd komutu ile bir sayi atadik.*/


          while(rastgele_sayi != tahmin)  /*kullanıcıdan sürekli tahmin alip denetleyeceğimiz için kullanıcı doğru
                                                         tahmini giresiye kadar dönecek bir while döngüsü kurduk. kullanıcı
                                                          doğru tahminde bulundugunda döngüden çıkılacaktır */
          {
              Console.Write("0-100 arası tahmin giriniz: ");
              tahmin = Convert.ToInt32(Console.ReadLine());

              if (tahmin > rastgele_sayi)      
                  Console.WriteLine("sayi kucuk...");

              else if (tahmin < rastgele_sayi)
                  Console.WriteLine("sayi buyuk...");

              else
              {
                  Console.Write("Tebrikler Doğru Tahmin"); /* bu koşul gerçekleştiğinde programdan çıkacak.*/
              }  
          }

          Console.ReadLine();

        }
    }
}

Friday, July 13, 2012

String işlemleri, Substring (C#)


String türü char(karekter) türlerinin birleşmesiyle oluşan bir türdür. string türündeki her ifade aynı zamanda char türündendir.
string ifadelerinin indexleri(sıralamaları) 0'dan başlar. merhaba kelimesinin 0. indexi m, 6. indexi ise a'dır.
string türünden bir değişken string x= "merhaba" şeklinde tanımlanır.

Substring Kullanımı:

string ifadeler charlardan oluşuyor demiştik. her char bir indexte yer tutar. string türündeki bir değişkenin içersindeki char elemanlara
ulaşmak için Substring methodundan yararlanırız.
Substring methodu, değişkenadı.Substring(değişkenin almak istediğimiz kısmının başlangıç indexi, başlangıç indexinden itibaren alınacak index sayisi)
yani;
string x= "merhaba";
x.Substring(2,2);

işlemi bize "rh" çıktısını verecektir.

String[] Kullanımı;


string[] ifadesi ile [] içersindeki index numarasını yazdıgımız elemana ulaşırız. elde ettiğimiz elemanın türü char türünden olacaktır.
[] içersine sadece 1 adet index numarası girebiliriz.

string x= "merhaba";
x[0];

işlemi bize "m" çıktısını verir.

string.Lenght Kullanımı;

string.Lenght ile değişkenimizin uzunluğunu bulabiliriz. Lenght ifadesi ile uzunluğu alınan string ifadelerinin başlangıç indexi 1 olarak alınır.

string x= "merhaba";
x.Lenght;

işlemi bize 7 sonucunu verecektir.

örnek: bir kelimenin ilk olarak uzunluğunu bulan, ardından bu kelimeyi tersten ve düzden yazılışını ekrana yazdıran program;

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace stringkullanimi
{
    class Program
    {
        static void Main(string[] args)
        {
            string x;
            int i,a;

            x = "galatasaray";   /* string türünden tanımladığımız x değişkenine galatasaray değerini verdik.*/
            a = x.Length;        /* galatasay kelimesinin uzunluğunu Lenght methodu a değişkenine atadık. */

            for (i = a-1; i>=0; i--)  /* açtığımız for döngüsünü string ifadeler 0.indexten başladığı için uzunluk - 1 
                                               den başlattık(11-1). değer 0 olasıya kadar birer birer azalttık. döngü değeri 
                                                 10-9-..0 olarak dönecek.*/
            {
                Console.Write(x[i]);  /* ekrana string türünden x değişkenin 10. indexinden itabaren 0. indexe 
                                                   kadar yazdırmaya başladık. */
            }

            Console.Write("\n" + x.Substring(0, a));  /* arada boş bi satır olması için \n komutunu kullandık. ve 
                                                                           substring methodu ile galatasaray değerinin 0. indexinden 
                                                                            11. indexe kadar yazdırmasını söyledik. */
            Console.ReadLine();
        }
    }
}