Arama butonu
Bu konudaki kullanıcılar: 1 misafir
2
Cevap
1038
Tıklama
0
Öne Çıkarma
Basit C örnekleri (Yeni başlayanlar için)
M
20 yıl
Teğmen
Konu Sahibi

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.

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil





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

D
20 yıl
Yarbay

senden c dinlemek güzel olurdu heralde.devamını bekliyoruz


Bu mesaja 1 cevap geldi.
E
20 yıl
Yarbay

devamını bekliyoruz



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.