<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>F. Oğuz ÖZKEROĞLU &#187; c</title>
	<atom:link href="http://www.oguzozkeroglu.com/tag/c/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.oguzozkeroglu.com</link>
	<description>Web günlüğü</description>
	<lastBuildDate>Wed, 01 Feb 2012 06:06:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>C# Yapar Da Java Yapamaz Mı?</title>
		<link>http://www.oguzozkeroglu.com/c-yapar-da-java-yapamaz-mi/</link>
		<comments>http://www.oguzozkeroglu.com/c-yapar-da-java-yapamaz-mi/#comments</comments>
		<pubDate>Fri, 19 Mar 2010 09:27:39 +0000</pubDate>
		<dc:creator>Oguz</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[cSharp]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[netbeans]]></category>
		<category><![CDATA[Türkçe karakter]]></category>

		<guid isPermaLink="false">http://www.oguzozkeroglu.com/?p=273</guid>
		<description><![CDATA[Daha önceki Değişken Adında Türkçe Karakter Kullanımı [C#] yazımda bahsettiğim C#&#8217;taki değişken, class, namespace isimlerinde Türkçe karakter kullanabiliyor olmak &#8220;C#&#8217;ta varsa Java&#8217;da neden olmasın?&#8221; sorusunu kendime sormama ve neticesinde bu yazının yazılmasına vesile oldu. Netbeans 6.8 ve Eclipse Galileo ile aynı şeyleri denedim ikisinde de sonuç aynı : C#&#8217;ın yaptığını Java da yapıyor; proje, package, [...]]]></description>
			<content:encoded><![CDATA[<p>Daha önceki <a href="http://www.oguzozkeroglu.com/degisken-adinda-turkce-karakter-kullanimi-c/" target="_blank" title="Değişken Adında Türkçe Karakter Kullanımı [C#]">Değişken Adında Türkçe Karakter Kullanımı [C#]</a> yazımda bahsettiğim C#&#8217;taki değişken, class, namespace isimlerinde Türkçe karakter kullanabiliyor olmak &#8220;C#&#8217;ta varsa Java&#8217;da neden olmasın?&#8221; sorusunu kendime sormama ve neticesinde bu yazının yazılmasına vesile oldu.</p>
<p>Netbeans 6.8 ve Eclipse Galileo ile aynı şeyleri denedim ikisinde de sonuç aynı : C#&#8217;ın yaptığını Java da yapıyor; proje, package, class ve değişken isimlerinde Türkçe karakter kullanmak istendiğinde &#8220;Abi sen burda Türkçe karakter kullanmaya çalışıyorsun ama bunu yapamazsın, mümkünse onları İngilizce karşılıkları ile değiştir&#8221; falan demiyor.</p>
<p>O yazıdaki kodun yaklaşık Java karşılığı aşağıda : </p>
<pre class="brush: java; title: ; notranslate">
package türkçekarakter;

public class TürkçeKarakterİçerenSınıf {
    public static void main(String[] args) {

        String strTürkçeKarakterİçerenDeğişken = &quot;Değişkenin değeri.&quot;;
        System.out.println(strTürkçeKarakterİçerenDeğişken);
    }
}
</pre>
<p>Şu görseller de Netbeans ve Eclipse&#8217;teki proje ve konsol alanları :<br />
<img src="http://www.oguzozkeroglu.com/wp-content/uploads/2010/03/netbeans-projects.jpeg" alt="Netbeans proje" title="Netbeans proje" width="276" height="126" class="aligncenter size-full wp-image-274" /><br />
<img src="http://www.oguzozkeroglu.com/wp-content/uploads/2010/03/netbeans-console.jpeg" alt="Netbeans console" title="Netbeans console" width="351" height="146" class="aligncenter size-full wp-image-275" /><br />
<img src="http://www.oguzozkeroglu.com/wp-content/uploads/2010/03/eclipse-projects.jpeg" alt="Eclipse proje" title="Eclipse proje" width="275" height="99" class="aligncenter size-full wp-image-276" /><br />
<img src="http://www.oguzozkeroglu.com/wp-content/uploads/2010/03/eclipse-console.jpeg" alt="Eclipse console" title="Eclipse console" width="480" height="169" class="aligncenter size-full wp-image-277" /></p>
<p>Bize programlama derslerinde öğretilen &#8220;değişken isminde Türkçe karakter olmaz&#8221; artık kural olmaktan çıkıp gelenek haline geliyor sanırım.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.oguzozkeroglu.com/c-yapar-da-java-yapamaz-mi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Değişken Adında Türkçe Karakter Kullanımı [C#]</title>
		<link>http://www.oguzozkeroglu.com/degisken-adinda-turkce-karakter-kullanimi-c/</link>
		<comments>http://www.oguzozkeroglu.com/degisken-adinda-turkce-karakter-kullanimi-c/#comments</comments>
		<pubDate>Fri, 08 Jan 2010 12:49:51 +0000</pubDate>
		<dc:creator>Oguz</dc:creator>
				<category><![CDATA[cSharp]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[Türkçe karakter]]></category>

		<guid isPermaLink="false">http://www.oguzozkeroglu.com/?p=262</guid>
		<description><![CDATA[Kodaman&#8217;da gördüm bugün merak ettim, Windows&#8217;u açıp baktım hakkatten de dedikleri gibi değişken isimlerinde Türkçe karakter kullanılabiliyormuş. Ordaki örneği aynen denedim. Ahanda kanıtı : Çıktı da şöyle görünüyor : Şimdi bunu yaparak dünyayı mı kurtardık? Hayır. Ama olsun, fazla bilgi göz çıkarmaz.]]></description>
			<content:encoded><![CDATA[<p>Kodaman&#8217;da gördüm bugün merak ettim, Windows&#8217;u açıp baktım hakkatten de dedikleri gibi değişken isimlerinde Türkçe karakter kullanılabiliyormuş. Ordaki örneği aynen denedim. Ahanda kanıtı :</p>
<pre class="brush: cpp; title: ; notranslate">
using System;

namespace TürkçeKarakterİçerenDeğişkenler
{
    class Program
    {
        static void Main(string[] args)
        {
            String strTürkçeKarakterİçerenDeğişken = &quot;Türkçe karakter içeren değişkenin değeri.&quot;;
            Console.WriteLine(strTürkçeKarakterİçerenDeğişken);
            Console.Read();
        }
    }
}
</pre>
<p>Çıktı da şöyle görünüyor :</p>
<p><a href="http://www.oguzozkeroglu.com/wp-content/uploads/2010/01/cSharpTrKarakterCikti.jpg"><img class="aligncenter size-full wp-image-263" title="CSharp Türkçe Karakter" src="http://www.oguzozkeroglu.com/wp-content/uploads/2010/01/cSharpTrKarakterCikti.jpg" alt="CSharp Türkçe Karakter" width="495" height="158" /></a></p>
<p>Şimdi bunu yaparak dünyayı mı kurtardık?</p>
<p>Hayır.</p>
<p>Ama olsun, fazla bilgi göz çıkarmaz.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.oguzozkeroglu.com/degisken-adinda-turkce-karakter-kullanimi-c/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Çomü Yazılım Seminerleri</title>
		<link>http://www.oguzozkeroglu.com/comu-yazilim-seminerleri/</link>
		<comments>http://www.oguzozkeroglu.com/comu-yazilim-seminerleri/#comments</comments>
		<pubDate>Sat, 24 Oct 2009 15:07:29 +0000</pubDate>
		<dc:creator>Oguz</dc:creator>
				<category><![CDATA[c]]></category>
		<category><![CDATA[seminer]]></category>
		<category><![CDATA[algoritma]]></category>
		<category><![CDATA[çomü]]></category>
		<category><![CDATA[cplusplus]]></category>
		<category><![CDATA[programlama]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[yazılım]]></category>
		<category><![CDATA[yazılım semineri]]></category>

		<guid isPermaLink="false">http://www.oguzozkeroglu.com/?p=236</guid>
		<description><![CDATA[Başkanlığını yaptığım Çomü Yazılım ve Otomasyon Topluluğu&#8217;nun bu yılki ilk etkinliği olan yazılım seminerlerine bugün başladım. Seminerlerin dönem sonuna kadar devam etmesini planlıyoruz. İlk gün başlangıç olarak topluluktan bir arkadaşımla birlikte, Bilgisayar ve Öğretim Teknolojileri Öğretmenliği bölümü 2. sınıf öğrencilerinden oluşan 30 kişilik bir gruba C++ programlama dilini kullanarak algoritma ve programlama anlattım. Derslerinde C++ [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.oguzozkeroglu.com/images/comu-yazilim-seminerleri2.jpg"><img src="http://www.oguzozkeroglu.com/images/comu-yazilim-seminerleri.jpg" alt="Çomü yazılım seminerleri" title="Çomü yazılım seminerleri" /></a><br />
Başkanlığını yaptığım Çomü Yazılım ve Otomasyon Topluluğu&#8217;nun bu yılki ilk etkinliği olan yazılım seminerlerine bugün başladım. Seminerlerin dönem sonuna kadar devam etmesini planlıyoruz. İlk gün başlangıç olarak topluluktan bir arkadaşımla birlikte, Bilgisayar ve Öğretim Teknolojileri Öğretmenliği bölümü 2. sınıf öğrencilerinden oluşan 30 kişilik bir gruba C++ programlama dilini kullanarak algoritma ve programlama anlattım. Derslerinde C++ programlama dilini daha önceden gördükleri için anlamaları hiç de zor olmadı ve konularda tekrara gerek kalmadan kolaylıkla ilerleyebildik.</p>
<p>Programlama dersi alan Fizik ve Matematik bölümlerinden gelen istek üzerine bir sonraki haftadan itibaren bir grup daha eklenmiş olacak ve dönem sonuna kadar Bilgisayar ve Öğretim Teknolojileri Öğretmenliği, Fizik ve Matematik bölümü öğrencilerine C++ ile programlama anlatmaya devam edeceğim.</p>
<p>Dersler sırasında yazdığımız kod örneklerini de <a href="http://seminer.oguzozkeroglu.com">seminer</a> sayfasına her ders sonrası düzenli olarak ekleyeceğim. Dersleri kaçıran ya da kodları alamayan arkadaşlar burdan yararlanabilirler.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.oguzozkeroglu.com/comu-yazilim-seminerleri/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sıralama Algoritmaları [2] : Bubble Sort</title>
		<link>http://www.oguzozkeroglu.com/siralama-algoritmalari-2-bubble-sort/</link>
		<comments>http://www.oguzozkeroglu.com/siralama-algoritmalari-2-bubble-sort/#comments</comments>
		<pubDate>Fri, 11 Sep 2009 13:01:37 +0000</pubDate>
		<dc:creator>Oguz</dc:creator>
				<category><![CDATA[algoritmalar]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[algorithm]]></category>
		<category><![CDATA[algoritma]]></category>
		<category><![CDATA[bubble sort]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[cplusplus]]></category>
		<category><![CDATA[kabarcık sıralaması]]></category>
		<category><![CDATA[sıralama algoritması]]></category>
		<category><![CDATA[sorting algorithm]]></category>

		<guid isPermaLink="false">http://www.oguzozkeroglu.com/?p=222</guid>
		<description><![CDATA[Daha önceki yazılarımdan birinde(Selection Sort) sıralama algoritmalarına küçük bir giriş yapmıştım. Bu yazı da onun devamı niteliğinde olacak ama açıklama için yine işi daha iyi birilerine (Wiki) bırakacağım. Bubble sort için C/C++ ve Java&#8217;da yazdığım kodları yazmam yeterli olur sanırım. Bu arada Java&#8217;da yazdığım kod sayısı 100 satırı geçti bunlarla birlikte :P &#8220;Hello World&#8221; un [...]]]></description>
			<content:encoded><![CDATA[<p>Daha önceki yazılarımdan birinde(<a title="Selection Sort" href="http://www.oguzozkeroglu.com/siralama-algoritmalari-1-selection-sort/" target="_blank">Selection Sort</a>) sıralama algoritmalarına küçük bir giriş yapmıştım. Bu yazı da onun devamı niteliğinde olacak ama açıklama için yine işi daha iyi birilerine (<a title="Bubble Sort" href="http://en.wikipedia.org/wiki/Bubble_sort" target="_blank">Wiki</a>) bırakacağım. Bubble sort için C/C++ ve Java&#8217;da yazdığım kodları yazmam yeterli olur sanırım.</p>
<p>Bu arada Java&#8217;da yazdığım kod sayısı 100 satırı geçti bunlarla birlikte :P &#8220;Hello World&#8221; un üstüne bayağı şey yapmışım demek ki :)</p>
<p>C/C++ Kodu :</p>
<pre class="brush: cpp; title: ; notranslate">
void bubbleSort(int dizi[], int elemanSayisi)
{
     int temp;
     int i, j;

     for (i=1; i&lt;elemanSayisi; i++)
     {
         for (j=0; j&lt;elemanSayisi-i; j++)
         {
             if(dizi[j] &gt; dizi[j+1])
             {
                        temp = dizi [j];
                        dizi [j] = dizi [j+1];
                        dizi [j+1] = temp;
             }
         }
     }
}
</pre>
<p>Java Kodu :</p>
<pre class="brush: java; title: ; notranslate">
    public static void BubbleSort(int [] dizi)
    {
        int temp;   // Yer değiştirmede kullanılacak geçici değişken
        for (int i=1; i&lt;dizi.length; i++)
        {
            for(int j=0; j&lt;dizi.length-i; j++)
            {
                if (dizi[j] &gt; dizi [j+1])
                {
                    temp = dizi [j];
                    dizi [j] = dizi [j+1];
                    dizi [j+1] = temp;
                }//Önce gelen elaman bir sonrakinden büyükse ikisi yer değiştiriyor
            }// Dizinin ardışık elamanlarını karşılaştırmak için kullandığımız döngü
        }// Her karşılaştırmadan sonra yeniden kaldığımız yerden devam etmemizi sağlayan döngü
    }
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.oguzozkeroglu.com/siralama-algoritmalari-2-bubble-sort/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>Sıralama Algoritmaları [1] : Selection Sort</title>
		<link>http://www.oguzozkeroglu.com/siralama-algoritmalari-1-selection-sort/</link>
		<comments>http://www.oguzozkeroglu.com/siralama-algoritmalari-1-selection-sort/#comments</comments>
		<pubDate>Tue, 03 Mar 2009 23:24:03 +0000</pubDate>
		<dc:creator>Oguz</dc:creator>
				<category><![CDATA[algoritmalar]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[algorithm]]></category>
		<category><![CDATA[algoritma]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[cplusplus]]></category>
		<category><![CDATA[seçmeli sıralama]]></category>
		<category><![CDATA[selection]]></category>
		<category><![CDATA[selection sort]]></category>
		<category><![CDATA[sıralama]]></category>
		<category><![CDATA[sıralama algoritması]]></category>
		<category><![CDATA[sort]]></category>
		<category><![CDATA[sorting]]></category>
		<category><![CDATA[sorting algorithm]]></category>

		<guid isPermaLink="false">http://www.oguzozkeroglu.com/?p=164</guid>
		<description><![CDATA[Bilgisayar ortamında verilerin sıralı olması birçok işi kolaylaştırır. Arama, ekleme, bölme vs. durumlarında verilerin sıralı olması ile olmaması arasında çok büyük performans farkı olabilir. Birçok algoritma (örneğin binary search) sıralı veriler üzerinde çalışır. Kullanıcı için de verilerin sıralı olması büyük kolaylık sağlar. Verilerin sıralanması için birçok algortima geliştirilmiştir. * Selection Sort * Bubble sort * [...]]]></description>
			<content:encoded><![CDATA[<p>Bilgisayar ortamında verilerin sıralı olması birçok işi kolaylaştırır. Arama, ekleme, bölme vs. durumlarında verilerin sıralı olması ile olmaması arasında çok büyük performans farkı olabilir.<br />
Birçok algoritma (örneğin binary search) sıralı veriler üzerinde çalışır. Kullanıcı için de verilerin sıralı olması büyük kolaylık sağlar.<br />
Verilerin sıralanması için birçok algortima geliştirilmiştir.</p>
<p>* Selection Sort<br />
* Bubble sort<br />
* Insertion sort<br />
* Shell sort<br />
* Merge sort<br />
* Heapsort<br />
* Quicksort<br />
* Bucket sort<br />
* Radix sort<br />
* Distribution sort<br />
* Shuffle sort<br />
&#8230;</p>
<p>Listeyi uzatmak mümkün. Sıralanacak veririn boyutu, yazılacak kod maliyeti, sistem kaynakları, kullanıcı tercihi vb. durumlara göre herhangi biri tercih edilebilir.<br />
Bunlardan Selection Sort&#8217;u inceleyelim. Sayı dizisini kullaracak olursak, algoritma ilk adımda tüm diziyi dolaşacak, en küçük elemanı bulup ilk sıraya yazacak.<br />
Sonra dizinin kalan kısmında aynı işi yeniden yapacak. Kalan kısmı tarayıp en küçük elamanı bulup, ikinci sıraya yazacak. Bu şekilde son elemana kadar gidip en küçükten büyüğe doğru dizimiz sıralanmış olacak.</p>
<p>Viki&#8217;de aşağıdaki animasyonu buldum, Selection Sort için hazırlanmış basit bi şey.</p>
<p style="text-align: center;">
<p><img class="size-full wp-image-166 aligncenter" title="Selection Sort" src="http://www.oguzozkeroglu.com/wp-content/uploads/2009/03/selection-sort1.gif" alt="Selection Sort" width="288" height="288" /></p>
<p>Fonksiyon için de C ve Java&#8217;da aşağıdaki kodları yazdım. Aynı işi yapan benzer şeyler de yazılabilir.</p>
<p>C/C++ kodu :</p>
<pre class="brush: cpp; title: ; notranslate">
void selectionSort (int dizi[], int elemanSayisi)
{
     int i, j, enKucuk, temp;
     for (i=0; i&lt;elemanSayisi-1; i++)
     {
         enKucuk = i;
         for (j=i+1; j&lt;elemanSayisi; j++)
         {
             if (dizi[j] &lt; dizi [enKucuk])
             enKucuk = j;
         }
         temp = dizi[i];
         dizi[i] = dizi[enKucuk];
         dizi[enKucuk] = temp;
     }
}
</pre>
<p>Java kodu :</p>
<pre class="brush: java; title: ; notranslate">
    private static void selectionSort(int [] dizi,int n)
    {
        int temp;
        int enKucuk;
        for(int i=0; i&lt;n-1; i++)
        {
            enKucuk=i;
            for(int j=i; j&lt;n; j++)
            {
                if (dizi[j] &lt; dizi[enKucuk]) enKucuk=j;
            }
            temp=dizi[i];
            dizi[i]=dizi[enKucuk];
            dizi[enKucuk]=temp;
        }
    }
</pre>
<p style="text-align: left;">Fonksiyon argüman olarak aldığı diziyi Selection Sort algoritması ile sıralıyor.</p>
<p>İç içe iki tane döngü kullanıldığı için algoritmanın karmaşıklığı O(n²) olur. Küçük boyutlu dizilerde fazla kod yazmaya gerek kalmadan kullanılabilecek bir algoritmadır.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.oguzozkeroglu.com/siralama-algoritmalari-1-selection-sort/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Sevgilinize Evlenme Teklif Edin [Hayır Diyemesin]</title>
		<link>http://www.oguzozkeroglu.com/sevgilinize-evlenme-teklif-edin-hayir-diyemesin/</link>
		<comments>http://www.oguzozkeroglu.com/sevgilinize-evlenme-teklif-edin-hayir-diyemesin/#comments</comments>
		<pubDate>Sat, 14 Feb 2009 10:48:39 +0000</pubDate>
		<dc:creator>Oguz</dc:creator>
				<category><![CDATA[cSharp]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[çanakkale]]></category>

		<guid isPermaLink="false">http://www.oguzozkeroglu.com/?p=133</guid>
		<description><![CDATA[14 Şubat sevgililer günü anısına C# ile basit bir uygulama yazdım. Uygulama çalışmaya başladığında ekrana aşağıdaki gibi küçük bir pencere geliyor, kullanıcı hayır dediği sürece yeniden başlatıyor kendini. Evet butonuna tıklandığında ise camdan bir gül resmi ekranı kaplıyor. Evlenme teklifi tabi ki çok özel olmalı, benim bunu yapma amacım sadece can sıkıntısı.. Dil olarak C#,  [...]]]></description>
			<content:encoded><![CDATA[<p>14 Şubat sevgililer günü anısına C# ile basit bir uygulama yazdım. Uygulama çalışmaya başladığında ekrana aşağıdaki gibi küçük bir pencere geliyor, kullanıcı hayır dediği sürece yeniden başlatıyor kendini.</p>
<p style="text-align: center;"><img class="aligncenter" title="Benimle evlenir misin?" src="http://www.oguzozkeroglu.com/download/sevgiliye-evlenme-teklifi/hayir.jpg" alt="Benimle evlenir misin?" /></p>
<p style="text-align: left;">Evet butonuna tıklandığında ise <a title="Benimle evlenir misin?" href="http://www.oguzozkeroglu.com/download/sevgiliye-evlenme-teklifi/evet.jpg" target="_blank">camdan bir gül resmi</a> ekranı kaplıyor.</p>
<p style="text-align: left;">Evlenme teklifi tabi ki çok özel olmalı, benim bunu yapma amacım sadece can sıkıntısı..</p>
<p style="text-align: left;">Dil olarak C#,  IDE olarak Visual Studio 2008 kullandım. Çalıştırılabilir dosyaya <a title="Benimle Evlenir misin?" href="http://www.oguzozkeroglu.com/download/sevgiliye-evlenme-teklifi/sevgiliye-evlenme-teklifi.rar">burdan</a>, yazdığım class&#8217;a <a title="Benimle Evlenir misin?" href="http://www.oguzozkeroglu.com/download/sevgiliye-evlenme-teklifi/class.txt"> burdan</a> ulaşabilirsiniz. Çalışması için bilgisayarda .net framework kurulu olmalıdır.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.oguzozkeroglu.com/sevgilinize-evlenme-teklif-edin-hayir-diyemesin/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>C# ve Php ile Sayısal Loto Sayı Üreticisi</title>
		<link>http://www.oguzozkeroglu.com/c-ve-php-ile-sayisal-loto-sayi-ureticisi/</link>
		<comments>http://www.oguzozkeroglu.com/c-ve-php-ile-sayisal-loto-sayi-ureticisi/#comments</comments>
		<pubDate>Tue, 27 Jan 2009 19:44:27 +0000</pubDate>
		<dc:creator>Oguz</dc:creator>
				<category><![CDATA[cSharp]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[projeler]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[loto]]></category>
		<category><![CDATA[random]]></category>

		<guid isPermaLink="false">http://www.oguzozkeroglu.com/?p=86</guid>
		<description><![CDATA[Herkesin bildiği sayısal loto var bu yazımda. Kazanmak için 1 &#8211; 49 arası sayılardan doğru olanları önceden tahmin etmek gerekiyor. Çoğu insanın uğurlu sayıları vardır. Bazılarının bir tane, bazılarının da birkaç tane. Eğer bu sayılar 1 &#8211; 49 aralığındaysa kuponunda o sayılara yer verenlerin sayısı azımsanmayacak kadar çok. Ama kazanmak için uğurlu sayınızın olması yetmiyor. [...]]]></description>
			<content:encoded><![CDATA[<p>Herkesin bildiği sayısal loto var bu yazımda.<br />
Kazanmak için 1 &#8211; 49 arası sayılardan doğru olanları önceden tahmin etmek gerekiyor.</p>
<p>Çoğu insanın uğurlu sayıları vardır. Bazılarının bir tane, bazılarının da birkaç tane. Eğer bu sayılar 1 &#8211; 49 aralığındaysa kuponunda o sayılara yer verenlerin sayısı azımsanmayacak kadar çok. Ama kazanmak için uğurlu sayınızın olması yetmiyor.</p>
<p>Ayrıca kupon doldururken yazdığımız diğer sayılardan etkileniriz. Mesela 37 ve 38 yazan biri genelde aynı kolonda 39 yazmaz. Oysa 1 &#8211; 12 &#8211; 23 &#8211; 34 &#8211; 45 &#8211; 49 ile 1 &#8211; 2 &#8211; 3 &#8211; 4 &#8211; 5 &#8211; 6 gelme olasılıkları aynıdır.</p>
<p>Birden fazla doldurduğumuzda yazacak sayı bulmakta zorlanırız bazen.</p>
<p>Kuponları otomatik dolduran makineler bu sorunlara (bunlardan harhangi birini sorun olarak görenlere) bir derece yardımcı oluyorlar.</p>
<p>Biz de C# ile bu makineler gibi sayı üretebiliriz. Bu konuda .net&#8217;in Random sınıfı bizim işimizi görecektir.</p>
<p>Önce Random sınıfından bir nesne yaratmakla başlayalım :</p>
<pre class="brush: cpp; title: ; notranslate">Random rnd = new Random();</pre>
<p>ile Rondom sınıfından rnd isimli bir nesne yaratıyoruz.</p>
<pre class="brush: cpp; title: ; notranslate">int birinciSayi = rnd.Next(1, 50);</pre>
<p>ile de 1-50 arasında (1 dahil 50 dahil değil) rastgele bir sayı üretiyoruz.</p>
<p>Daha sonra</p>
<pre class="brush: cpp; title: ; notranslate">
int ikinciSayi = rnd.Next(1, 50);
while (birinciSayi == ikinciSayi)
{
     ikinciSayi = rnd.Next(1, 50);
}
</pre>
<p>satırları ile ikinci ratgele sayımızı üretip diğeri ile eşit mi diye kontrol ediyoruz. Eğer iki sayı eşitse while döngüsü yardımı ile, eşit olmayana kadar ikinci sayı yeniden üretiliyor.</p>
<p>Üçüncü sayı için de</p>
<pre class="brush: cpp; title: ; notranslate">
int ucuncuSayi = rnd.Next(1, 50);
while (birinciSayi == ucuncuSayi || ikinciSayi == ucuncuSayi)
{
     ucuncuSayi = rnd.Next(1, 50);
}
</pre>
<p>bu kodları kullanalım. Bu da aynı şekilde üretilen üçüncü sayı ile ilk iki sayıyı karşılaştırıyor. Herhangi birine eşitse yeniden üretiyor.</p>
<p>Benzer şekilde 6 farklı sayıyı da ürettikten sonra istersek direkt kullanabilir, istersek sıraladıktan sonra kullanabiliriz. (Trt çekilişten sonra hemen sıralayıp veriyor :))</p>
<p>Sıralamak için sayıları bir diziye atıp, diziyi sıralayalım. Bunu :</p>
<pre class="brush: cpp; title: ; notranslate">
int[] dizi = new int[6];
dizi[0] = birinciSayi;
dizi[1] = ikinciSayi;
dizi[2] = ucuncuSayi;
dizi[3] = dorduncuSayi;
dizi[4] = besinciSayi;
dizi[5] = altinciSayi;
</pre>
<p>şeklinde diziye atarak ve :</p>
<pre class="brush: cpp; title: ; notranslate">Array.Sort(dizi);</pre>
<p>şeklinde de sıralayarak yapabiliriz. Sıralama yapmak için C&#8217;deki gibi kendi fonksiyonumuzu yazmak yerine Array sınıfının nimetlerinden yararlanmak daha kolay olur :)</p>
<p>Artık elimizde 1 &#8211; 49 arasında 6 farklı elemanı olan bir dizi var. Bundan sonrası size ait. Konsolda çalışıyorsanız :</p>
<pre class="brush: cpp; title: ; notranslate">
for (int i = 0; i &lt; 6; i++)
{
     Console.WriteLine(dizi[i]);
}
</pre>
<p>şeklinde sayıları görebilirsiniz. Eğer windows formu kullanacaksak forma 1 tane buton ve 6 tane text box eklememiz gerekecek.<br />
Text kutularının isimlerini değiştirmezsek eğer, butonun click eventine :</p>
<pre class="brush: cpp; title: ; notranslate">
textBox1.Text = Convert.ToString(dizi[0]);
textBox2.Text = Convert.ToString(dizi[1]);
textBox3.Text = Convert.ToString(dizi[2]);
textBox4.Text = Convert.ToString(dizi[3]);
textBox5.Text = Convert.ToString(dizi[4]);
textBox6.Text = Convert.ToString(dizi[5]);
</pre>
<p>bunları yazarsak, sayılarımız sıralı olarak her kutunun içinde bir tane olacak şekilde görünecektir.</p>
<p>Visual Studio 2008 ile derlediğim örnek uygulamayı <a href="http://www.oguzozkeroglu.com/download/sayisal.rar">burdan</a> indirebilirsiniz.<br />
Çalışması için bilgisayarınızda .net framework 2.0 veya üzeri kurulu olmalıdır.</p>
<p>Yukarıdaki işlerin aynısını Php ile de yapabiliriz. Sayıları Php kullanarak üretmek için <a href="http://www.oguzozkeroglu.com/metodlar/sayisal-loto-sayi-uretici.php">şuraya</a> göz atın.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.oguzozkeroglu.com/c-ve-php-ile-sayisal-loto-sayi-ureticisi/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Sayının asallığını php ile kontrol edelim</title>
		<link>http://www.oguzozkeroglu.com/php-ile-asal-sayi-kontolu/</link>
		<comments>http://www.oguzozkeroglu.com/php-ile-asal-sayi-kontolu/#comments</comments>
		<pubDate>Fri, 09 Jan 2009 20:10:57 +0000</pubDate>
		<dc:creator>Oguz</dc:creator>
				<category><![CDATA[çalışmalar]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[asal]]></category>
		<category><![CDATA[asal sayı]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[çanakkale]]></category>

		<guid isPermaLink="false">http://www.oguzozkeroglu.com/?p=79</guid>
		<description><![CDATA[Asal Sayı : 1 ve kendisinden başka tam böleni olmayan pozitif tamsayılara asal sayı denir. 2, 3, 5, 7, 37, 227.. gibi. Belli bir sayıları yoktur, sonsuzdurlar. Matematikçiler yüzyıllardan beri asal sayıları veren bi formül bulmak için uğraşıyorlar ama nafile. Bu hala çözülmeyi bekleyen en büyük problemlerden biri. Biz belki asal sayıları veren bi formül [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Asal Sayı : </strong>1 ve kendisinden başka tam böleni olmayan pozitif tamsayılara asal sayı denir. 2, 3, 5, 7, 37, 227.. gibi. Belli bir sayıları yoktur, sonsuzdurlar. Matematikçiler yüzyıllardan beri asal sayıları veren bi formül bulmak için uğraşıyorlar ama nafile. Bu hala çözülmeyi bekleyen en büyük problemlerden biri.  Biz belki asal sayıları veren bi formül bulamayız ama php (ve daha birçok programlama dili) ile sayının asal olup olmadığını kontrol edebiliriz. Bunu çok basit olarak php&#8217;de :</p>
<pre class="brush: php; title: ; notranslate">
function asalMi($sayi)
{
      $kok=sqrt($sayi);

      for ($i=2; $i&lt;=$kok; $i++)
      {
           if($sayi % $i==0) return 0;
      }
      return 1;
 }
 </pre>
<p>C&#8217;de de  :</p>
<pre class="brush: cpp; title: ; notranslate">
int asalMi(int sayi)
{
     int i;
     for (i=2; i&lt;=sqrt(sayi); i++)
     {
          if (sayi%i==0) return 0;
     }
     return 1;
 }
</pre>
<p>şeklinde yapabiliriz. Sayımız 2&#8242;den, kendi kareköküne kadar olan sayılara teker teker bölünecek, eğer herhangi birine tam bölünüyorsa fonksiyon geriye 0 döndürecek (sayı asal değil), hiçbirine tam bölünmüyorsa fonksiyon geriye 1 değeri döndürecek (sayımız asal).  Php ile örnek bir uygulama yazdım. Denemek isterseniz aşağıdaki kutucuğa 1 &#8211; 1.000.000 arası bir tamsayı yazıp, butona tıklayın. Scriptimiz 1&#8242;den yazdığınız sayıya kadar olan asal sayıları bulup ekrana yazacak.  Not : 1.000.000&#8242;dan daha büyük değerler için bayağı kasıyor :)</p>
<form style="width: 105px; height: 20px;" action="http://www.oguzozkeroglu.com/metodlar/asalSayiUygulamasi.php" method="post">
<table style="width: 62%;" border="0">
<tbody>
<tr>
<td style="width: 42px;">
<input name="sayi" size="6" type="text" /></td>
<td>
<input type="submit" value="Göster" /></td>
</tr>
</tbody>
</table>
</form>
]]></content:encoded>
			<wfw:commentRss>http://www.oguzozkeroglu.com/php-ile-asal-sayi-kontolu/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
	</channel>
</rss>

