mortheria Mesaj tarihi: Ekim 29, 2016 Mesaj tarihi: Ekim 29, 2016 Uzun sayıları toplayan program yazıyorum javada kağıt kalemle yaptığımız işlemleri anlatmaya çalışıyorum javaya adımlar: girilen sayıların soluna aynı uzunluğa gelene kadar 0 koy.Her turlu bi tane ver ki yeni basamak çıkıcaksa sorun olmasın. En sağdaki rakamları topla toplam 10 u geçerse soldaki 1 artır, artırdıgı rakam 10 olursa veya gecerse onun solundakini artır. Her toplama da sonucu bi string e topluyorum en sonda onu tersten basıyorum islem sonucu diye. Şimdi bu 99 + 1 de patlıyor program hem de index out of range diye, neden anlamıyorum. 88 + 44 niye öyle bişey olmuyor sorun arka arkaya 2 basamağın artmasıysa ya da 9 + 1 de niye sorun yok eger yeni basamak olusturmak sıkıntıysa. big integer, array falan yasak.O yüzden charAt le yapıyorum.Sorun nerde olabilir?
senko Mesaj tarihi: Ekim 29, 2016 Mesaj tarihi: Ekim 29, 2016 kafadan bilemedim. debugladın mı? ne oluyor da out of range diyor?
mortheria Mesaj tarihi: Ekim 29, 2016 Konuyu açan Mesaj tarihi: Ekim 29, 2016 Debugger kullanmak aklıma gelmedi bi kuruyum eclipse falan o zaman. Bu satırda int add = s1.charAt(l1 - 1) - '0' + (s2.charAt(l2 - 1) - '0'); s1 sayi1 işte s2, sayi2. l1, l2 de uzunlukları, string olarak aldım onları o yüzden -1le son char a gittim falan.
mortheria Mesaj tarihi: Ekim 29, 2016 Konuyu açan Mesaj tarihi: Ekim 29, 2016 Ya da şöyle sorayım, toplama işlemi yapıyorsunuz varsa eldeyi nasıl 1 sola kaydırırsınız
pulkas Mesaj tarihi: Ekim 29, 2016 Mesaj tarihi: Ekim 29, 2016 kodunu koysana buraya nerede yanlis yapmissin nokta atisi gor.
Lancelion Mesaj tarihi: Ekim 29, 2016 Mesaj tarihi: Ekim 29, 2016 kendini test etmek icin mi yapiyorsun yoksa is icin mi bu arada ?
mortheria Mesaj tarihi: Ekim 29, 2016 Konuyu açan Mesaj tarihi: Ekim 29, 2016 Sonunda hallettim elde var mantığını çok yanlış kullanıyormuşum. Kod atmak istemedim direk birileri de kod atmasın diye yani fikir olarak danışmak istedim deyim. @lancellion odev olarak yapıyorum daha çarpması var
Wishmaster Mesaj tarihi: Kasım 2, 2016 Mesaj tarihi: Kasım 2, 2016 88+44'de patlamaz. 98+44'te patlardı. Sebebi ondalık basamakta 9 oluşu dolayısıyla iki kere soldakini arttırma işlemine giriyor olması. Muhtemelen kodda daha farklı sıkıntılar da var. Gerçi söylemişsin zaten. Genelini görsek saptardık, böyle mümkün değil tabi :)
Wishmaster Mesaj tarihi: Kasım 2, 2016 Mesaj tarihi: Kasım 2, 2016 mortheria said: Ya da şöyle sorayım, toplama işlemi yapıyorsunuz varsa eldeyi nasıl 1 sola kaydırırsınız topladığım basamağı 10 modunda bırakırım. 17%10 = 7 gibi. Bir sol basamağa da +1 eklerim. Loop içinde yaparım hepsini. Ardarda soluna bakabilir bu şekilde.
mortheria Mesaj tarihi: Kasım 2, 2016 Konuyu açan Mesaj tarihi: Kasım 2, 2016 Şimdi derdim şuymuş 189 + 21 diyelim 9+1 = 10 o zaman 8i 9 yapıyım sonra devam edeyim diyodum toplamaya 9 + 2 diye ki aslında hiç öyle yapmadan 8 + 2 + elde(varsa 1 yoksa 0) diye devam etmek aynı şey.Eee ? tabilik bu mevzu kodlarken öyle olmuyor. Her neyse sorun çözüldü çarpma da halloldu , sağolun yardım için
senko Mesaj tarihi: Kasım 3, 2016 Mesaj tarihi: Kasım 3, 2016 Wishmaster said: mortheria said: Ya da şöyle sorayım, toplama işlemi yapıyorsunuz varsa eldeyi nasıl 1 sola kaydırırsınız topladığım basamağı 10 modunda bırakırım. 17%10 = 7 gibi. Bir sol basamağa da +1 eklerim. Loop içinde yaparım hepsini. Ardarda soluna bakabilir bu şekilde. 17%10 da 7, 7%10 da 7 :)
mortheria Mesaj tarihi: Kasım 29, 2016 Konuyu açan Mesaj tarihi: Kasım 29, 2016 Pek Java ile alakası yok ama, SICP baya övülen bi kaynakmış bende okuyup anlamaya çalışsam mı diyorum ama kitap yazarları MIT de artık olay böyle değil diye falan intro. olarak anlatmayı bırakmışlar. Şimdi internet her türlü faydalı buluyor bu kitabı CS meraklasına fakat bazıları önce diğer dillerde biraz tecrübe edinip sonra okunmalı diyor. Ben ki 4~ aylık java, python bilgimle başlasam mı?Yoksa iyice Java devam edip ilerde mi baksam bilemedim var mı aramızda okuyan ?
pulkas Mesaj tarihi: Kasım 29, 2016 Mesaj tarihi: Kasım 29, 2016 mortheria said: Pek Java ile alakası yok ama, SICP baya övülen bi kaynakmış bende okuyup anlamaya çalışsam mı diyorum ama kitap yazarları MIT de artık olay böyle değil diye falan intro. olarak anlatmayı bırakmışlar. Şimdi internet her türlü faydalı buluyor bu kitabı CS meraklasına fakat bazıları önce diğer dillerde biraz tecrübe edinip sonra okunmalı diyor. Ben ki 4~ aylık java, python bilgimle başlasam mı?Yoksa iyice Java devam edip ilerde mi baksam bilemedim var mı aramızda okuyan ? code complete oku.
Kojiroh Mesaj tarihi: Kasım 29, 2016 Mesaj tarihi: Kasım 29, 2016 Valla böylesine öneme sahip bi kitabı okumayı ben de çok isterdim ama şahsen o kadar sabrım yok sanırım. Gözüm öncelikle şunda: https://en.wikipedia.org/wiki/The_Art_of_Computer_Programming Ama pek low-level programlama teorisi sevmeyen biri olarak hevesimi daha çok fonksiyonel programlama ve ondan türeyen high-level metodolojileri takip ederek gidermeye çalışıyorum. Bi şeyler okuyup izleyip dinledikçe o kadar eğleniyorum ki kendim de bi şeyler kurgulamaya ve yazmaya başlıyorum. Hatta bazen rüyalarıma giriyo veya duş alırken kafamda bunlar dönüp duruyo falan. Bi yandan ben işin teorisiyle bu kadar eğlenirken, bi yandan da biçok alanda pratikte uygulanmaya başlamışken (big data'sında Spark'lar Hadoop'lar, front-end'de flux'lar react-redux'lar, back-end'de sayısız metodoloji, bankacılıkta CQRS, mesajlaşmada actor'ler, scalability için stateless microservice'ler vs vs vs) herkese hep onu tavsiye ediyorum. Bu konularla alakalı olarak da wishlist'im şöyle https://www.amazon.com/Introduction-Functional-Programming-Calculus-Mathematics/dp/0486478831/ref=pd_sim_14_1?_encoding=UTF8&psc=1&refRID=XPJ82JJHP96MBPHNK0HA https://www.amazon.com/Purely-Functional-Structures-Chris-Okasaki/dp/0521663504/ref=pd_sim_14_12?_encoding=UTF8&psc=1&refRID=BA7WA2HCAVTBAGB3843Q https://www.amazon.com/Implementation-Functional-Programming-Prentice-Hall-International/dp/013453333X (fiyata dikkat, ama online olarak beleş sdf) https://www.manning.com/books/akka-in-action
mortheria Mesaj tarihi: Kasım 30, 2016 Konuyu açan Mesaj tarihi: Kasım 30, 2016 @Kojiroh Sağol öneriler için, TAOCP çok ağır dendiği ilerde bi denerim.Pratikte uygulanabilir olması güzel de olsa önemli değil benim için. Akka yı pek anlamadım. SICP daha CS odaklı durduğu için önce ona, daha sonra soft. dev. adına Code Complete/Clean Code bakmak mantıklı gibi. CLRS de baya övülüyor okul alg. anlatırken bakmak daha mantıklı gibi.
mortheria Mesaj tarihi: Aralık 24, 2016 Konuyu açan Mesaj tarihi: Aralık 24, 2016 k ∑ D(i - 1)*D(k - i) i=1 D(0) = 1 Bunu recursive hesaplayacak method yazmaya ugrasıyorum sorun her çağrıldığında yeni k üzerinden işlem yapmaya çalıştığından 1 den yeni k ya kadar çalışıyor. kod public static int D(int k) { int i = 0; int ways = 0; if (k == 0) { ways++; return 1; } else { if (i <= k) { i++; System.out.println("D(" + (i-1) + ") D(" + (k - i) + ")" + "ni:" + i + " k:" + k); return ways + D(i - 1) * D(i - k); } return ways; } } Toplama olayıda hic olmamış gibi, nasıl yapılır bu?
Valthon Mesaj tarihi: Aralık 25, 2016 Mesaj tarihi: Aralık 25, 2016 mortheria said: k ∑ D(i - 1)*D(k - i) i=1 D(0) = 1 Bunu recursive hesaplayacak method yazmaya ugrasıyorum sorun her çağrıldığında yeni k üzerinden işlem yapmaya çalıştığından 1 den yeni k ya kadar çalışıyor. kod public static int D(int k) { int i = 0; int ways = 0; if (k == 0) { ways++; return 1; } else { if (i <= k) { i++; System.out.println("D(" + (i-1) + ") D(" + (k - i) + ")" + "ni:" + i + " k:" + k); return ways + D(i - 1) * D(i - k); } return ways; } } Toplama olayıda hic olmamış gibi, nasıl yapılır bu? rekürsif kısımdaki return'de i-k yazmışsın, k-i olmayacak mı? Bi de her yeni k (eski k-1 olmalı) ile çağırdığında 1'den yeni k ya kadar işlem yapması doğru. Rekürsif o demek zaten.
mortheria Mesaj tarihi: Ocak 4, 2017 Konuyu açan Mesaj tarihi: Ocak 4, 2017 @valthon evet k-i olmalıymış. Hala stackoverlow falan yiyip duruyorum.Nasıl yapılır bu olay tekrarlayım, k input: k ∑ D(i - 1)*D(k - i) i=1 Base case: D(0) = 1 Bu aslında k tane operatoru olan islemi kac farklı sekilde parentezlenebileceğini veren formulmüş.
Phoenixlin Mesaj tarihi: Ocak 4, 2017 Mesaj tarihi: Ocak 4, 2017 Formülü i=1'den başlatmak yerine i=k'dan başlatıp 1'e doğru dönecek şekilde düşün. Metodun da her recursion'da o andaki k'ya göre D hesaplayıp bir önceki D'yle toplamını ve k-1'i parametre olarak alacak. Eğer "k-1 = 1" olursa da "return d+1" diyip recursionı bitircen.
Öne çıkan mesajlar