1. sayfa
hocam şöyle ekleme yaptım #include <stdio.h> #include <conio.h> int kalan(int x,int y); int ebob(int x, int y); int main(){ int sayi1,sayi2,sonuc; printf("sayi girin: "); scanf("%d",&sayi1); printf("sayi girin: "); scanf("%d",&sayi2); sonuc=ebob(sayi1,sayi2); printf("%d\n",sonuc); } int kalan(int x,int y){ int kalan_sonuc; if(x>y) { kalan_sonuc=x % y; } else if (x<y) { kalan_sonuc=y%x; } else return 0; return kalan_sonuc; } int ebob(int x, int y) { if(x>y) { if(y>0) { return ebob(y,kalan(x,y)); } } else if (x<y) { if(x>0) { return ebob(x,kalan(x,y)); } } if ((x==0) || (y==0)) { if (x>y) { return x; } if (y>x) { return y; } } } |
Bölüm nedir, 4 yıllık Bilg Müh ? |
4 yıllık Bilg Müh bölümünde problem çözmek için Lisp öğretilmeli bence cunku Lisp problem çözme alanında en iyi dillerden biri. altta 5 dk'da çözdüm ki bunun 4'ü formatta space atmak nasıl olur ona bakarken harcadım.(defun k-yaz (&optional (boyut 8) (joker boyut) (orta (round (/ boyut 2)) ) )Çözümü Lisp ile kodladıktan sonra onu C'ye cevirmek kolay. #include<stdio.h>C'deki round işlevi 0.5'i 1'e yuvarladığ için K harfinin bireşim noktası bir satır altta cıkıyor. Lisp'teki round 0.5 'i 0'a yuvarladığı için tam yerinde cıkıyor. Ve tabi ki C'de K 'nın boyutunu komut satırı argümanı olarak giriyorsun. |
Sonraki mesajı neden kaldırdın? Evet c++ compiler ile derlediğin için o hatayı veriyor olmalı. C Compiler kullanmalısın. Visual Studio 'da da C Compiler var diye hatırlıyorum. Hiçbirisi yoksa GNU C Compiler kullan, hatasız derlenir: < Resime gitmek için tıklayın > |
Daha önce de bahsetmiştim, bu tür problemler için c uygun değil. lisp ile 5 dk'da yazdım ve çalışıyor. c ile yazsam compile debug vs yarım saatte bitmezdi, yarım saati cok iyimser söyledim. hodja'larınıza söyleyin, problem çözmek için c dışında başka dil kullansınlar diyeceğim fakat müfredatı onlar belirlemiyor o yüzden diyemiyorum. < Resime gitmek için tıklayın > |
sayıların tıklama olayına eğer label1 ve label2 doluysa label3 texti=buttonun değeri değilse label1 in texti =buttonun değeri gibi |
Girilen iki sayının en büyük ortak bölenini bulan programı recursive fonksiyon kullanarak yazınız . Ebob formülü aşağıda verilmiştir. Not: kalan fonksiyonu x’in y’ye bölümünden kalanı bulmalıdır. < Resime gitmek için tıklayın > Soru bu. Benim yazdığım kod ise aşağıda. Kod çalıştığında sürekli 0(Sıfır) döndürüyor. Sıkıntı nerede? Yardımcı olursanız sevinirim. :)
|
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.
‘K’ (büyük k) harfini rekürsif kodu yazmam gerekiyor yapamadım yardımcı olur musunuz? |
Evet hocam |
Gün içerisinde ve C dilinde yazmam gerekiyor hocam yardımcı olursanız çok teşekkür ederim. |
< Resime gitmek için tıklayın > böyle bi hata veriyor |
Cevap vermeyeceksiniz sandım kendim çözmeye çalışıyordum hocam, söylediğiniz gibi yaptım çalıştı. Allah razı hocam, çok teşekkür ederim hakkınızı helal edin ![]() |
Merhaba hocam rahatsız ediyorum kusura bakmayın sizden bir ricada bulunabilir miyim? Alfabesi E={a,b,c,d,e,f,g,h,0,1,2,3,4,5,6,7,8,9,+,-,*,} olan küme yardımıyla 8 karakterli 10 adet şifre üreten metodu veriniz. Ancak oluşturulacak şifreler; {+,-,*} olan elemanlardan bir adet içerecektir ve iki adet rakam içermektedir. Ayrıca şifreleme sisteminin kuralı şu şekildedir: şifre öncelikle harf ile başlayacak, simgeyle devam edip rakamla bitmelidir. Bu programda 10 adet şifre üretilecektir. Program bir defa çalışacak ve 10 adet şifre satır satır hem ekrana hem de yeni bir ‘sifre.txt’ dosyasına yazdırılacaktır.( c dilinde) şu kodu yazmam gerekiyor da eğer müsaitseniz yardımcı olur musunuz lütfen sürem kısıtlı yardımcı olursanız çok mutlu olurum,teşekkür ederim. |
c# daböyle olabilir https://dotnetfiddle.net/Widget/Cj4uNO |
merhaba c# ta hesap makinesi yapmaya çalışıyorumda takıldığım bi yer var yardımcı olabilirmisniz? |
< Resime gitmek için tıklayın > hocam 1 e bastığım zaman label 1 e yazdırıyorum ama label 2 ye işlem sembolü koyup 2. sayıyı label 3 ye nasıl yazacağımı bulamadım |
hocam label1 ve label2 nin dolu olup olmadığını nasıl kontrol edeceğim anlayamadım mümkünse kod şeklinde atabilir misiniz? if (label1_201104020.Text == "0") { label1_201104020.Text = "1"; } else { label1_201104020.Text += "1"; } if (label2_201104020.Text == "+") { label3_201104020.Text += "1"; } 1 in içine bu kodu yazdım label 1 e 1 yazıyor , + ya basıyorum sonra tekrar 1 e bastığımda hem label1 hemde label2 ye 1 yazıyor. |
1. sayfa
ebob(3, 6) -> ebob(6, 3) -> ebob(3, 0) -> 0
ebob(8, 4) -> ebob(4, 0) -> 0
Olması gereken şu;
ebob(x, y) = {x if y = 0, ebob(y, kalan(x, y)) if y > 0}
ebob fonksiyonu;
Kaynak;
http://en.wikipedia.org/wiki/Greatest_common_divisor
Euclid's algorithm kısmı.
< Bu mesaj bu kişi tarafından değiştirildi welrocken -- 24 Aralık 2014; 20:07:54 >