C & C++ Çalışma Örnekleri‏

Başlatan asumanorhun, 11 Şubat 2010 - 14:12:04

« önceki - sonraki »

0 Üyeler ve 4 Ziyaretçi konuyu incelemekte.

asumanorhun

Arkadaşlar Merhaba,

C & C++ öğrenmek isteyenler için,

çalışma örnekleri'ni linkten indirebilirsiniz.

c ve c++ örnekleri


Teşekkürler,

sema


Geç gördüm.. Teşekkür ederiz :) Açıklamalar (hepsine bakmadım) güzel olmuş.. Elinize sağlık..
susema

ouzcpp

MERHABA ARKADAŞLAR !

KENDİ HAZIRLADIĞIM SİTEMDEN - C / C++ / C# / OpenGL / SQL Server

KAYNAK KOD VE DERSLERİNE BAKA BİLİRSİNİZ

SON OLARAK BU SİTE HAKKINDAKİ HERTÜRLÜ GÖRÜŞ VE ÖNERİLERİNİZİ BEKLİYORUM

SAYGI VE SEVGİLERİMLE (ÇALIŞMALARINIZDA BAŞARILAR DİLERİM)...

SİTE ADRESİM : http://site.mynet.com/opencpp/AnaSayfam/index.htm

sema


Hoşgeldiniz :) Teşekkür ederiz.. Daha sonra bakacağım notlarınıza.. Yalnız küçük harflerle konuşmamız mümkün mü?  (Düzeltebilir misiniz mesajınızı?)
susema

raspacı

Alıntı yapılan: http://site.mynet.com/opencpp/OkumaSayfam/oku.htmBir usta çıraklardan birine Tao'nun doğasını anlatıyordu: "Tao tüm yazılımların içinde vardır, ne kadar küçük olurlarsa olsun bu yazılımlar."

    *

      "Bir hesap makinasında Tao var mıdır?" diye sordu bir çırak.
    *

      "Vardır."
    *

      "Peki bir video oyununda da var mıdır Tao?" diye devam etti çırak.
    *

      "Bir video oyununda bile vardır," dedi usta.
    *

      "Peki, kişisel bilgisayardaki Windows sisteminde de Tao var mıdır?" diye sordu çırak.
    *

      Usta öksürdü, boğazın temizledi, biraz kımıldandı ve "Bugünkü dersimiz bu kadar," dedi.
Bu bölüm hoşuma gitti :) .Sitenizde de başarılar dilerim.
nereye gidersen git kendini de götürürsün.

solidsnake

Selamlar
int k;
for (int i=1; i<=5; i++)
      for (int j=1; j<i; j++)
         k=i%j;
bu kod bluğunda i yi 5 e kadar yazıp ,daha sonra j ile örneğin i ile 3' geldikten sonra  i yi sıra ile 1,2 ye bölüyor değil mi?

asıl yapmak istediğim basit olarak her programlama dilinde verilen örneklerden biri olan asal sayıları bulmak :-[

alquirel

Öncelikle kolay gelsin.
Verdiğin kodun son satırı, yani "k=i%j" şu işi yapar : "i"nin "j" ile bölümünden kalanı bulur. "mod" dediğimiz işlem yani.

Asal sayıları bulmak için şöyle bir kod olabilir.


#include <stdio.h>
int main (void){
  int s=50; //Kaça kadar olan asal sayıları bulacağımızı belirten değer
  for(int i=1;i<=s;i++){
    for(int j=2;j<i;j++){ // Önemli : "i" yi 2 den başlatıyoruz. "1" tüm sayıları böldüğü için.
      if(i%j==0) break; // Eğer "j" "i" nin bir böleni ise döngüyü kırıyoruz.
    }
    if(j==i) printf("%d ",i);
   /* Eğer döngü kırılmadan buraya geldiyse, yani j döngüyü tamamlayıp
       "i"ye eşitlendiği için döngü bittiyse
        anlıyoruz ki "i" asal sayı. */
  }
}


Kod daha da iyileştirilebilir. Aceleyle bu kadar yazabildim. :)
Umarım faydalı olur.




- "1" ile "2" yi kendimiz yazmamız gerekiyor.
- "j" yi "i"ye kadar değil de "i"nin kareköküne kadar arttıracağımız bir döngü daha ekonomik olur. "i"nin karekökünden sonraki kontroller gereksiz aslında. Bu durumda döngü sonu kontrolü de şöyle yapmamız gerekir: if(j>sqrt(i))

solidsnake

Alıntı yapılan: alquirel - 09 Aralık 2010 - 01:46:09
Öncelikle kolay gelsin.
Verdiğin kodun son satırı, yani "k=i%j" şu işi yapar : "i"nin "j" ile bölümünden kalanı bulur. "mod" dediğimiz işlem yani.

Asal sayıları bulmak için şöyle bir kod olabilir.


#include <stdio.h>
int main (void){
  int s=50; //Kaça kadar olan asal sayıları bulacağımızı belirten değer
  for(int i=1;i<=s;i++){
    for(int j=2;j<i;j++){ // Önemli : "i" yi 2 den başlatıyoruz. "1" tüm sayıları böldüğü için.
      if(i%j==0) break; // Eğer "j" "i" nin bir böleni ise döngüyü kırıyoruz.
    }
    if(j==i) printf("%d ",i);
   /* Eğer döngü kırılmadan buraya geldiyse, yani j döngüyü tamamlayıp
       "i"ye eşitlendiği için döngü bittiyse
        anlıyoruz ki "i" asal sayı. */
  }
}


Kod daha da iyileştirilebilir. Aceleyle bu kadar yazabildim. :)
Umarım faydalı olur.




- "1" ile "2" yi kendimiz yazmamız gerekiyor.
- "j" yi "i"ye kadar değil de "i"nin kareköküne kadar arttıracağımız bir döngü daha ekonomik olur. "i"nin karekökünden sonraki kontroller gereksiz aslında. Bu durumda döngü sonu kontrolü de şöyle yapmamız gerekir: if(j>sqrt(i))
sanırım yanlışlık oldu,ya da ben bir noktayı kaçırdım;   if(i%j==0) break; burdaki şart mutlaka 0 olacaktır yani diğer bloğa hiç ulaşamıycaz bu durumda

alquirel

Niye i%j her zaman sıfır olsun, veya hiçbir zaman sıfır olmasın ki?
% işaretinin anlamını söylemiştim yukarıda, mod işlemini yapıyor kendisi, bölü işlemini değil.

Yani 5%3=2 dir. Yani 3, 5'i tam olarak bölmez, bir kalanı vardır.
6%3=0 dır. Yani 3, 6'yı tam olarak, kalansız böler. Bu yüzden => "break", yani 6 asal değildir.

pwl

teşekkürler emeklerinize sağlık :D

solidsnake

listelemiyor yanlız asal sayıları

alquirel

Alıntı yapılan: solidsnake - 09 Aralık 2010 - 17:14:24
listelemiyor yanlız asal sayıları

Listelemiyor derken, uygulamayı derlemede mi hata verdi, çalışıp çıktı mı vermiyor, ya da hatalı çıktı mı veriyor?

solidsnake

Alıntı yapılan: alquirel - 09 Aralık 2010 - 19:02:24
Alıntı yapılan: solidsnake - 09 Aralık 2010 - 17:14:24
listelemiyor yanlız asal sayıları

Listelemiyor derken, uygulamayı derlemede mi hata verdi, çalışıp çıktı mı vermiyor, ya da hatalı çıktı mı veriyor?
@alguirel derlemede hata yok fakat çıktı olarak ekranda birşey görünmüyor.Bir soru daha sormak istiyorum, i=5 olduğundan j'i hem 2,3,4 e göre tek tek modlarına bakıyor değil  mi?

alquirel


#include <stdio.h>
int main(void){
  int s, i, j;
  printf("Kaça kadar olan asal sayıları listelemek istiyorsunuz? ");
  scanf(" %d",&s);
  for(i=2;i<=s;i++){
    for(j=2;j<i;j++){
      if(i%j==0) break;
    }
    if(j==i) printf("%d ",i);
  }
  printf("\n");
}


Biraz makyajladım.

Anlatayım: Öncelikle kontrol edilecek son sayıyı alıyor. Daha sonra i=2 ile döngüye başlıyor. Yani ilk 2 yi kontrol ediyor. Yalnız "2" için j'nin döngüsüne girmiyor çünkü j<2 ifadesi yanlış oluyor. O döngüye girmedikten sonra da j==i ifadesi 2 için doğru olmuş oluyor ve 2 yi yazıyor. Daha sonra 3'e bakıyor. Bunda da sadece 3%2 işleminin sonucu kontrol ediliyor, 3%2=0 olmadığı için döngü kırılmıyor, daha sonra j 3 olduğunda dongü kendiliğinden bitiyor ve j==i kontrolüne geliyor. j==i doğru olduğu için 3'ü de yazıyor. 4'te ise 4%2==0 ifadesi doğru olduğu için j=2 iken döngü kırılmış oluyor ve j==i yanlış olduğu için 4 asal sayı listesine yazılmıyor.
...
Diye devam ediyor.

solidsnake

bende sadece 2 görünüyor şuanda. j==i bu şart hiçbir zaman doğru olmuyor gibi geliyor bana :-[ .  j<i  dedik ikinci for döngüsünde

alquirel

Bu yazdığım kod aynen çalışıyor bende.

j==i dememiz normal, çünkü döngü j<i olduğu sürece dönüyor, j=i olduğu zaman döngü bitip j==i kontrolüne geliyor.

sem

Alıntı YapKaça kadar olan asal sayıları listelemek istiyorsunuz? 50
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47
sem0900@ubuntu:~$

Kodda bir sıkıntı yok... Bende de düzgün çalıştı. Güzel örnek olmuş eline sağlık alquirel.

Siz örnek sayı olarak 50 girdiğinizde sadece iki mi çıkıyor solidsnake?
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

alquirel

Alıntı yapılan: sem0900 - 10 Aralık 2010 - 21:35:01
Alıntı YapKaça kadar olan asal sayıları listelemek istiyorsunuz? 50
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47
sem0900@ubuntu:~$

Kodda bir sıkıntı yok... Bende de düzgün çalıştı. Güzel örnek olmuş eline sağlık alquirel.

Siz örnek sayı olarak 50 girdiğinizde sadece iki mi çıkıyor solidsnake?

Teşekkürler, sabahtan akşama kadar, hatta gece de yatmayıp sabaha kadar C yazdığım günleri yâd etmiş oldum. ;D

solidsnake

Çalıştı.Vakit ayırıp yardımcı olduğun için teşekkür ederim @alquirel

alquirel

Rica ederim benim için de iyi oldu zaten.
Önemli olan çalışan hazır kod almak yerine nasıl çalıştığını anlamak.

Soracağın her türlü soruyu çekinmeden sor, elbet biri yardım eder ;)

execetioner

#20
guzel bı anlatım olmus

solidsnake

Alıntı yapılan: execetioner - 19 Aralık 2010 - 02:09:54
guzel bı anlatım olmus
Yanlız ben henüz tam kavrayamadım. :'(..Vaktim olduğunda tekrar bakıcam artık.

mistrafantastic


#include <iostream>

using namespace std;
int main (void){
  int s=0; //Kaça kadar olan asal sayıları bulacağımızı belirten değer
  int j=0;
  cout << "kaca kadar olan asal sayilara bakmak istiyorsunuz?";
  cin >> s;
  for(int i= 1;i<=s;i++){
    for(j=2;j<i;j++) // Önemli : "i" yi 2 den başlatıyoruz.
      if(i%j==0) break;   // Eğer "j" "i" nin bir böleni ise döngüyü kırıyoruz.
   
    if(j==i) cout <<"  " << i << "   "<< "\n";
   /* Eğer döngü kırılmadan buraya geldiyse, yani j döngüyü tamamlayıp
       "i"ye eşitlendiği için döngü bittiyse
        anlıyoruz ki "i" asal sayı. */
  }
}


bir kaç düzenleme yaptım.

istenilen sayıya kadar bakıyor ama algoritma bir yerden sonra patlar gibi duruyor. şimdilik bu hali iyi.

iyi çalışmalar, iyi kodlar!
winston soft
djarum black (mobile) 

jacobs monarch nescafe 3 in 1 (mobile)  iletişim: [email]mistrafantastic@gmail.com[/email]