Öncelikle merhaba.
Diyelim ki elimizde iki sayı var biri 54 olsun diğeri 12.
Bunların çarpımlarından elde edilen sayıyı bir diziye atmak istiyoruz. Yani 648 i x[3] dizisine nasıl dağıttırabiliriz.
Acil cevap lütfen =)
Dizilere Sayı Yayma
Eğer bahsettiginiz durum sayının basamaklarını bir diziye atamaksa,elde edilen sayıyı basamaklarına ayırarak sırasıyla dizinin(array) kutularına atayabiliriz.Ornegin sayımız 648 ise,bu sayının 100'e bolumu,sayının yuzler basamagını verecektir.O halde,
dizi[0]=sayi/100; seklindeki bir ifade(statement) yazılabilir.
Sayının onlar basamagını elde etmek icin,once sayının yuzler basamagı atılarak,akabinde sayının 10'a bolumunden onlar basamagı elde edilir.O halde,
dizi[1]=(sayi/100)%10; yazılabilir.
Son olarak bir sayının birler basamagını elde etmek demek,ilgili sayının 10'a bolumunden kalanı bulmak demektir.
dizi[2]=sayi%10;
Dolayısıyla bu sekilde bir iterasyon ile sayı ayrılarak dizinin bolmelerine atanmış olacaktır.Ancak istediginiz durum,elde edilen sayının kendisini diziye atmak ise, yukarıdaki atamalardaki aynı mantık uyarınca bu işlem gercekleşir.Tek fark sayının parcaları degil,kendisini atamaktır.Ornegin,
dizi[0]=648 | dizi[1]=648 | dizi[2]=648 gibi dizinin herhangi bir indeksine deger ataması yapılabilir.
Başarılar
Çok teşekkür ederim. Projeyi yapayım kendim inşallah, daha sonra burada konusunu yayınlasam bana profesyonel olarak yazar mısınız ?
Projenizin cesitli bolumlerinde yardımcı olmaya calısırım,ancak projenizi kendi basınıza yapmanız sizin gelişiminiz acısından onemli olacaktır.
Başarılar
Sevgili censez41,gondermiş oldugunuz soruyu size mesaj olarak yanıtlamış bulunmaktayım,ancak sistemde bir sorun olduysa cevabı burada da aynen yayınlıyorum.
Yapay zeka,en basit tabirle,kendiliginden olmayan,programlanmıs bilişim sisteminden dogarak makineleri 'zekileştirmeye' yarayan bilgisayar bilim dallarından biridir.Ornegin bilgisayarlarımızda bulunan satranc oyununu dusununuz.Bu oyun oylesine bir kombinasyon sonucunda tasarlanmıştır ki,bilgisayar oynadıgı her hamlede en iyi sonucu verir.Bu durum yapay zeka mitolojisi icerisinde acıklanabilir.Bu durumu yaratan bilgisayarın zeki oldugu degil,aslında cok hızlı işlem yapabilme ozelligini 'zekileştirmek' mantıgı ile butunlestirmektir.
Sizin bahsettiginiz oyununuz yapay zeka formatı mantıklı.Oncelikle,bilgisayar her zar sonrasında tavla pullarını iteratif olarak mı hesaplıyor ? yoksa bir recursive yapı icerisinde mi yonetiyor ? benim tavsiyem,bir oyun agacı tasarlayarak(orn:binary tree-ikili agaç),bilgisayarın yapması gereken hamleleri,tasarlanan bu agac uzerinden yonetmesi olabilir.Ayrıca tasarlanan recursive bir yapı ile de sistem daha hızlı işleyecektir.
Başarılar
Sevgili censez41,gondermiş oldugunuz soruyu size mesaj olarak yanıtlamış bulunmaktayım,ancak sistemde bir sorun olduysa cevabı burada da aynen yayınlıyorum.cevabın geldi ama ben bir soru daha sormuş bulundum ve cevabı hala gelmedi :)))
Yapay zeka,en basit tabirle,kendiliginden olmayan,programlanmıs bilişim sisteminden dogarak makineleri 'zekileştirmeye' yarayan bilgisayar bilim dallarından biridir.Ornegin bilgisayarlarımızda bulunan satranc oyununu dusununuz.Bu oyun oylesine bir kombinasyon sonucunda tasarlanmıştır ki,bilgisayar oynadıgı her hamlede en iyi sonucu verir.Bu durum yapay zeka mitolojisi icerisinde acıklanabilir.Bu durumu yaratan bilgisayarın zeki oldugu degil,aslında cok hızlı işlem yapabilme ozelligini 'zekileştirmek' mantıgı ile butunlestirmektir.
Sizin bahsettiginiz oyununuz yapay zeka formatı mantıklı.Oncelikle,bilgisayar her zar sonrasında tavla pullarını iteratif olarak mı hesaplıyor ? yoksa bir recursive yapı icerisinde mi yonetiyor ? benim tavsiyem,bir oyun agacı tasarlayarak(orn:binary tree-ikili agaç),bilgisayarın yapması gereken hamleleri,tasarlanan bu agac uzerinden yonetmesi olabilir.Ayrıca tasarlanan recursive bir yapı ile de sistem daha hızlı işleyecektir.
Başarılar
Sorunuzu başkalarınında yararlanabilecegini dusundugumden ayrı bir konu baslıgında acıkladım.Umarım size bir fikir vermiştir.
Başarılar
Projenizin cesitli bolumlerinde yardımcı olmaya calısırım,ancak projenizi kendi basınıza yapmanız sizin gelişiminiz acısından onemli olacaktır.
Başarı
Beni yanlış anladınız. Zaten projeyi başkasına yazdırma çabasında değilim çünkü gerçekten öğrenmek istiyorum. Demek istediğim projemi kendim yazıp TESLİM ETTİKTEN SONRA size konusunu versem siz profesyonel yazıp bana atabilir misinizdi ?
Proje konusu derken,proje rapor taslagının hazırlamasını mı kastediyorsunuz ?
=) Hayır. Şimdi bizim programlama dersinden ödevimiz var. Ben daha yeni yeni c öğreniyorum. Bu nedenle profesyonel yazımları inceliyorum. Benim yazacağım kod profesyonel yazım olmayacağı için, ben ödevimi teslim ettikten sonra size ödev konusunu yollasam bana profesyonel bir kod yazabilir misiniz demek istedim. Yalnızca incelemek için. =)
Sizden ödevimi yapmanızı istemiyorum bundan zaten bende hoşlanmam =) O yüzden ödevimi teslim ettikten sonra bana profesyonel kod yazıp yollayabilir misiniz dedim.
Umarım anlatabilmişimdir. =)
Anladım.Siz konuyu yolladıgınız zaman,musait bir zamanda yazmaya calısır burada yayınlarım incelersiniz.
Başarılar
Eğer bahsettiginiz durum sayının basamaklarını bir diziye atamaksa,elde edilen sayıyı basamaklarına ayırarak sırasıyla dizinin(array) kutularına atayabiliriz.Ornegin sayımız 648 ise,bu sayının 100'e bolumu,sayının yuzler basamagını verecektir.O halde,Hocam sanırım onlar basamağını bulmak için dizi[1]=(sayi%10)%10 şeklinde yazmak gerekiyor.Diğer türlü yanlış hesaplıyor.
dizi[0]=sayi/100; seklindeki bir ifade(statement) yazılabilir.
Sayının onlar basamagını elde etmek icin,once sayının yuzler basamagı atılarak,akabinde sayının 10'a bolumunden onlar basamagı elde edilir.O halde,
dizi[1]=(sayi/100)%10; yazılabilir.
Son olarak bir sayının birler basamagını elde etmek demek,ilgili sayının 10'a bolumunden kalanı bulmak demektir.
dizi[2]=sayi%10;
Dolayısıyla bu sekilde bir iterasyon ile sayı ayrılarak dizinin bolmelerine atanmış olacaktır.Ancak istediginiz durum,elde edilen sayının kendisini diziye atmak ise, yukarıdaki atamalardaki aynı mantık uyarınca bu işlem gercekleşir.Tek fark sayının parcaları degil,kendisini atamaktır.Ornegin,
dizi[0]=648 | dizi[1]=648 | dizi[2]=648 gibi dizinin herhangi bir indeksine deger ataması yapılabilir.
Başarı