26 Nisan 2015 Pazar

SIRALAMA ALGORİTMALARI

              KABARCIK SIRALAMA (BUBBLE SORT) ALGORİTMASI

  1. Dizinin elemanları üzerinden ilk elemandan başlayarak ve her geçişte sadece yan yana bulunan iki eleman arasında sıralama yapılır
  2. Dizinin başından sonuna kadar tüm elemanlar bir kez işleme tabi tutulduğunda dizinin son elemanı (küçükten büyüğe sıralandığında) en büyük eleman haline gelecektir.
  3. Bir sonraki tarama ise bu en sağdaki eleman dışarıda bırakılarak gerçekleştirilmektedir. Bu dışarıda bırakma işlemi de dış döngüdeki sayaç değişkeninin değerinin her işletimde bir azaltılmasıyla sağlanmaktadır. Sayaç değişkeninin değeri 1 değerine ulaştığında ise dizinin solunda kalan son iki eleman da sıralanmakta ve sıralama işlemi tamamlanmaktadır.                  
  4. (n-1) iterasyon ve her iterasyonda (n-1) karşılaştırma.
  5. Toplam karşılaştırma sayısı : (n-1)*(n-1) = n2-2n+1 = O(n2)                                                                                                                                                                   
örnek kod 

#include<stdio.h>
#include<conio.h>
main()
{
      int eleman ;
      int gecici;
      int *dizi;
      printf("siralanacak dizi kac elemanli olacak ?");
      scanf("%d",&eleman);
      printf("siralanacak diziyi girin\n");
      for(int i=0;i<eleman;i++)
      {
              scanf("%d",&dizi[i]);
              
              }
      for(int i=0;i<eleman;i++){
              for(int j=i+1;j<eleman;j++)
              
              {
                      if(dizi[i]>dizi[j])
                      {
                      gecici=dizi[i];
                      dizi[i]=dizi[j];
                      dizi[j]=gecici;
                      }
                      
                      }
              
              }
      printf("siralandiktan sonraki hali \n");
      for(int i=0;i<eleman;i++)
      {
              printf("%d ",dizi[i]);
              
              }
      
      getch();
      }

                                                                                                                                                                                             

20 Nisan 2015 Pazartesi

Allegro


KURT KUZU ÇİFTÇİ LAHANA PROBLEMİNİN YAPAY ZEKA ÇÖZÜMÜNÜN GRAFİK TABANLI GERÇEKLENMESİ

Bir çiftçi, nehrin sol kıyısındaki kurt, kuzu ve lahanayı, kendisi ile birlikte en fazla bir varlığı (kurt,kuzu, lahana) teknesine alarak aynı anda karşı kıyıya geçirebilmektedir. Kurt kuzuyu, kuzu da
lahanayı çiftçinin yanında yiyememektedir aksi halde ise kurt kuzuyu, kuzu da lahanayı yer. Kurt
kuzuyu ve kuzu da lahanayı yemeden çiftçi teknesiyle kurt, kuzu ve lahanayı karşı kıyıya nasıl ulaştırabilir?
Durum uzayını ifade ederken tüm mümkün durumlar göz önünde bulundurulmalıdır. Durumlar arası geçişler, yasaklı durumlar ve durumlar arası geçiş sonunda meydana gelecek olay açıkça belirtilmeli ve grafik ekranda gösterilmelidir.
Buradaki yasaklı durumlar; kurt ile kuzunun ve kuzu ile lahananın baş başa kalması durumudur. 

                                                              Grafik Ekran




20 Mart 2015 Cuma

RASGELE SAYI ÜRETME

Rasgele sayi üretmek için rand kullanılır. Varsayalımki bir değişkenimiz var ona rasgele sayi atayacaz o zaman şöyle kullanabiliriz.

#include<stdio.h>
#include<stdlib.h>
main()
{
int sayi;
for(int i=0;i<10;i++)
{
sayi=rand()%100;
printf("%d. sayi=%d\n",i+1,sayi);
}
}
böyle kullandığı zaman hep aynı sayilari verir farklı olmasını istiyorsak srand'ı kullanabiliriz.
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
main()

{
int sayi;
srand(time(NULL));
for(int i=0;i<10;i++)
{
sayi=rand()%100;
printf("%d. sayi=%d\n",i+1,sayi);
}
}

29 Aralık 2014 Pazartesi

C# Windows Form

                                                 DERSHANE ETÜT PROGRAMI

Proje dershane etüt programıdır. Dershane etüt programının amacı dershaneye giden öğrencilerin öğretmenlerden etüt almasını amaçlıyor. Giriş  arayüzde  İlk kullanıcı datagridview ile listelenen öğretmenlerden istediği ismi seçiyor daha sonra kullanıcı kim ise numarasını seçiyor. Ve daha sonra istediği tarih ve saati seçerek Kaydet butonu ile  kayıt ediyor. Bunlara ek olarak yeni öğretmen yeni öğrenci ekleme yapabiliyor.Ve tabi önceden aldığı etütü iptal edebiliyor aynı zamanda öğretmen ve öğrenci silebiliyor.


                                                       Programın Ana Arayüzü



Tarih seçiminde istenilen tarih seçildikten sonra Uygula butonu ile textbox yazılıyor.
İstenilen öğretmen ismi tıklandığında Öğretmen label in yanındaki textbox a yazılıyor.
İstenilen öğrenci  numarası tıklandığında Öğrenci label in yanındaki textbox a yazılıyor.
İstenilen Saatteki butona tıklandığında Saat labelin yanındaki textbox a yazılıyor.
Daha sonra Kaydet butonu ile kayıt ediliyor. Temizle butonu ile textboxlar temizleniyor.
Sil butonu ile önceden alınan etüt silinebiliyor. Ve çıkış butonu ile çıkış yapılıyor.

                                  
                                                Yeni Kayıt
Yeni Kayıt butonuna tıklandığında açılan arayüz yukardadır.
Burdan Öğretmen ve öğrenci eklemesi yapılıyor.

                                                           Öğrenci
Öğrenci butonuna tıklandığında açılan sayfadır. Burda Öğrenci  kayıt ediliyor. Ve Öğrenci  silinebiliyor. 
NOT=Veri tabanı olarak SQL kullanılmıştır.

Proje İndir





Allegro

    ALLEGRO  PROJE

Projede bizden grafik kütüphanelerini kullanarak c de binaların  bulunduğu bir arayüz ve bu binaların herhangi ikisinin üstüne yerleştireceğimiz oyuncular ile top atma oyunu oluşturmaktır.
Şu özellikler olacak;
1 -) Oyunun oynandığı arayüzde oluşan binaların boyu ve eni farklı olacak.
2 -)  Her çalıştırıldığında kullanıcı farklı bir arayüz ile karşılaşacak.
-)Binaların üstünde biri sağda diğeri  solda olmak üzere iki oyuncu bulunmalıdır. Oyuncuların         koordinatları belli olmamalı rasgele olmalıdır.
4 -)  Oyuncuların amacı birbirlerini top ile vurmak olacak.
5 -)  Atılan top eğik atış ile atılmalı.
6 -)  Atılan topun hızını ve yönünü kullanıcı belirleyecek
-)   Her oyuncunun toplamda 3 atış hakkı olmalı
8 -)   Her atışın bir puan hesaplanması yapılmalı.
9 -)   Oyuncunun herhangi bir yerine temas eden top oyuncuyu vurmuş kabul edecez.
10 -)  Atışlar sonunda hangi oyuncunun kazandığı ekrana yazılmalıdır.
11 -) Projeyi  c dilinde  yazmak zorunludur.
12 -)   Ve son olarak oyunda en yüksek 3 skor tutulmalıdır.

                                                     Ana Menü

      
          proje indir
                                   
                             
                                                   Oyunun Oynandığı Arayüz








27 Kasım 2014 Perşembe

Html Öğrenme

DERS 2

<html>     html dosyasını açar.
<head>    başlığı  yazmak için kullanılır.
<h1> .. <h6> başlığın kalınlığını ayarlamak için kullanılır.
<p>          paragraf için kullanılır.
<br >        boş satır bırakmak için kullanılır.
<!-->         yorum yazmak için kullanılır.


Bunları kapatmak için  </> işareti kullanılır.


<html >
<head>
<title>  ikinci ders </title>
</head>
<body>
<h1> Bu en büyük başlık </h1>
<br>
<h2> Bu büyük başlık </h2>
<br>
<h3> Bu orta başlık </h3>
<br>
<h4> Bu küçük başlık </h4>
<br>
<h5> Bu en küçük başlık </h5>
<br>
<h6> Bu minnacık  başlık </h6>
</body>
</html>

DERS 2 

Html Öğrenme

    DERS 1



 Html bir uzantıdır. tıpkı mp3'ün bir şarkı uzantısı olması gibi, Html de bir yazı dosyası uzantısıdır. 
Tarayıcılar html dosyalarını yorumlayarak gösterir. Yani html kodlarıyla hazırlanmış dosyayı alır,inceler ve nasıl görünmesi gerektiğine karar verip size gösterir. Bir html dosyasının yorumlanmamış haline o dosyanın Kaynağı denir. HTML sayfalarının(dosyalarının) kaynakları, html kodlarından oluşur ve tarayıcınızdaki bir sayfada bir yere sağ tıklayıp Kaynağı Göster yazısına tıklamanız gerekir.
Nasıl Html dosyası oluşturabilirim?
Yeni bir metin belgesi oluşturup açın. Dosya -> Farklı kaydet seçeneğine tıklayın ve dosya adının sonundaki .txt yerine .html yazın.

Evet şimdi başlayalım kodlamaya...

<html>
<head>
<title> sayfa başlığı </title>
</head>
<body>

<p> bu bir paragraftır. </p>
<br>  
<!-- bu yorum satırıdır sayfada  gözükmez. yukardaki "<br >" komutu boş bir satır bırakır. -->
<b> bu yazı koyudur. </b>

</body>


</html>



DERS 1