Şimdi Ara

Basit C örnekleri (Yeni başlayanlar için)

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
3
Cevap
0
Favori
980
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • drony'nin delphi öğretmedeki azim ve kararlılığını görünce,bende boş oturmayayım, vatana millete hayırlı olayım diye buraya (üşenmediğim miktarda) basit program yazıp nasıl çalıştığını açıklayacağım. Bu tamamen c'nin nasıl bir şey olduğunu merak edenler için. Öyle orta-düzey birşey göstermeyeceğim. Zaten orta düzey bir şey isteyen de açsın kitaplardan okusun, burada zaman kaybetmesin. Burada Sadece temel mantık nedir, nasıl olur falan fikir edinin diye. Şimdi ilk örneği koyayım.

    bu program şunu yapıyor. mesela 45 sayısını girdik bize 45. asal sayıyı söylüyor.

    #include <stdio.h> 

    int main()
    {
    int asal(long); //aşağıda kullanacağımız fonksiyonun main fonksiyonuna tanımı
    long i,k=2,n=0; // kullanılacak değişkenlerin tanımı

    printf("Sayiyi girin..:"); //konsol ekranına çıkış komutu
    scanf("%ld",&i); //konsol ekranından giriş komutu

    //while döngüsünün kullanımı while(koşul) şeklindedir. koşul sağlandığı
    //sürece while döngüye devam eder. koşul sağlanmaz ise parantez içindeki değer
    //compiler tarafından 0 kabul edilir ve döngü kırılır. 0 dışındaki her değerde
    //döngü devam eder.

    while(1) //herhangi bir koşul yok. sonsuz döngü
    {
    if (asal(k)==1) ++n; //eğer k bir asal sayı ise n'yi bir arttır.
    if ((n)==i) //eğer n değeri i değerine eşitlenir ise
    {
    printf("%ld. asal sayi %ld\n",i,k); //ekrana yazdır.
    break; //döngüyü kır.
    }

    k++; //while döngüsü devam ettikçe k değeri sürekli olarak artar
    }

    }

    //burada bir alt fonksiyon tanımlayacağız. main içinde kullanımı "asal(a)" şeklinde
    //olacak. bir sayi asal ise fonksiyon 1 değerini, asal değil ise 0 değerini alır

    int asal(long a) //alt fonksiyon tanımı
    {
    long n; //değişkenler

    for (n=2;n<a;n++) //buradaki a sayı main fonksiyonu tarafından girilecek
    {
    if ((a%n)==0) return 0; //eğer a n'ye bölünebiliyorsa sayı asal değildir.
    }

    return 1; //bölünemiyorsa asaldır, 1 değerini dön.
    }

    .

    matematiği seven biri olarak, matematik ile ilgili bir şey yapmak istedim. oyle çok sağlam bir algoritma yok tabi. mesela 1000000 girerseniz sayı olarak yarım saat beklersiniz. bunu genişletebilirsiniz. mesela asal sayıları bir diziye toplayıp, sayıları sadece o ana kadar toplanmış asal sayılara böldürmek gibi, veya sayının tamamını denemek yerine karekokune kadar denemek gibi. ama dediğim gibi burda amacım olayların mantığını anlatmak, algoritma kasmak değil.



    < Bu mesaj bu kişi tarafından değiştirildi mandelbrot -- 8 Mayıs 2005, 21:25:05 >







  • senden c dinlemek güzel olurdu heralde.devamını bekliyoruz
  • devamını bekliyoruz
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.