Odinn Mesaj tarihi: Ocak 10, 2009 Paylaş Mesaj tarihi: Ocak 10, 2009 Arkadaşlar Bir pseudo kodunu javaya geçirmeye çalışıyorum, kafayı yiyecem beceremedim. Kitaptan aldım scan ettim kusura bakmayın :P pseudo kod: tık output beklentisi: tık Buda benim yaptığım, hep error alıyorum: class RevolvingDoor{ static int fact(int a){ if(a == 0) return 0; if(a == 1) return 1; else return a * fact(a -1); } static int combination(int n,int k){ return fact(n) / ( fact(k) * fact(n-k)) ; } static void RevDoor(int n,int k){ int[] t= new int[n]; for(int i=1; i<n;i++){ t[i]= i; } for(int i=1; i<= combination(n,k);i++){ System.out.print(combination(t[i],1)); t[k+1]= n + 1; int j = 1; while(j<=k && t[j]==j){ j= j+1; } if((k-j) % 2 != 0){ if(j==1) t[1]= t[1] -1; else t[j-1] = j; t[j-2] = j - 1; } else{ if(t[j+1] != t[j] + 1){ t[j-1] = t[j]; t[j] = t[j] + 1; } else t[j+1] = t[j]; t[j] = j; } } System.out.println(); } public static void main(String[] args){ /*System.out.println(fact(3)); System.out.println(combination(3,2));*/ RevDoor(6,1); } } - Sizce bu "visit the combination [1...k] ne demek olabilir? sanırım print etmemiz gerekiyor ama combinasyonun iki inputu var burda tek input gösteriyor ? -Paso out of boundaries hatası alıyorum yukardaki programı çalıştırınca, acaba nerede hata yapmış olabilirim? Göremedim hatayı , sanırım bu kod array indexini 1 den alırken javada 0 olması sorun çıkarıyor. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
nedanko Mesaj tarihi: Ocak 10, 2009 Paylaş Mesaj tarihi: Ocak 10, 2009 pseudo koduna bakmadim ama kodunda soyle bi sorun var galiba.. System.out.print(combination(t[i],1)); bunu cagirdiginda ilk olarak 1,1 i cagiriyosun bu da return fact(n) / ( fact(k) * fact(n-k)) ; burada 1/0 cikariyo bu da sorun yaratiyo. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Odinn Mesaj tarihi: Ocak 10, 2009 Konuyu açan Paylaş Mesaj tarihi: Ocak 10, 2009 nedanko said: pseudo koduna bakmadim ama kodunda soyle bi sorun var galiba.. System.out.print(combination(t[i],1)); bunu cagirdiginda ilk olarak 1,1 i cagiriyosun bu da return fact(n) / ( fact(k) * fact(n-k)) ; burada 1/0 cikariyo bu da sorun yaratiyo. ah gösteridiğin nokta için teşekkür ederim, peki pseudo da "visit the combination t[1...k] ne demek istiyor olabilir? Kafam karıştı çünkü combinasyon çift input alan bir metod ama burda sanki t nin 1 den k sına kadar olan bütün elemanlarının combinasyonunu yaz diyor, neye göre kombinasyonu ? Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
nedanko Mesaj tarihi: Ocak 10, 2009 Paylaş Mesaj tarihi: Ocak 10, 2009 bilmem anlamadim bende Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
nedanko Mesaj tarihi: Ocak 10, 2009 Paylaş Mesaj tarihi: Ocak 10, 2009 bu arada kodunda pseudo koduna gore cok hata var zaten. kombinasyon methodun yanlis mesela.. array i yanlis yaratiyosun falan. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Mirage Mesaj tarihi: Ocak 10, 2009 Paylaş Mesaj tarihi: Ocak 10, 2009 Array indexlerinde sorun var. Senin de dediğin gibi pseudo code index'leri 1'den başlatmış. 1'den n'e kadar elemanları kullanmış sonra. Java'da index 0'dan başladığı için new int[n] ile ürettiğin array'in en büyük index'i n - 1 olacak. Dolayısıyla döngüsünde 0'dan n-1'e kadar elemanları kullanman lazım. Sen 1'den başlayıp n-1'e kadar kullanmışsın. Pseudo kodda 1 to n yazan yerleri Java'da 0 to n - 1 olarak çevir. Tamamını okuyamadım ama. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Odinn Mesaj tarihi: Ocak 10, 2009 Konuyu açan Paylaş Mesaj tarihi: Ocak 10, 2009 Arkadaşlar yardımlarınız için çok teşekkürler :) Mirage said: Array indexlerinde sorun var. Senin de dediğin gibi pseudo code index'leri 1'den başlatmış. 1'den n'e kadar elemanları kullanmış sonra. Java'da index 0'dan başladığı için new int[n] ile ürettiğin array'in en büyük index'i n - 1 olacak. Dolayısıyla döngüsünde 0'dan n-1'e kadar elemanları kullanman lazım. Sen 1'den başlayıp n-1'e kadar kullanmışsın. Pseudo kodda 1 to n yazan yerleri Java'da 0 to n - 1 olarak çevir. Tamamını okuyamadım ama. peki for i<- 1 to n derse bu (for int i=0;i Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği… Mirage Mesaj tarihi: Ocak 10, 2009 Paylaş Mesaj tarihi: Ocak 10, 2009 Evet ama sonrasında i kullandığı yerlerde de istikrarlı olarak i - 1 kullanmayı unutma. Edit: Kolaylık olsun diye kodlamaya başlamadan önce pseudo koddaki index'leri 0'dan başlayacak şekilde değiştirebilirsin. Sonra java koduyla pseudo kodunu karşılaştırırken aynı olur bütün index'ler. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği… Odinn Mesaj tarihi: Ocak 10, 2009 Konuyu açan Paylaş Mesaj tarihi: Ocak 10, 2009 tamamdır çok teşekkürler Mirage ve nedanko :) Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği… Penthesilea Mesaj tarihi: Ocak 15, 2009 Paylaş Mesaj tarihi: Ocak 15, 2009 said: bu (for int i=0;i bu yanlis. i<=n-1 veya i i Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği… Paylaş Daha fazla paylaşım seçeneği… Takipçiler 0 Konu listesine dön Paticik Tum Konular Paticik - Pati Tech Paticik - Pati Zone Paticik - Ilgi Alanlari Paticik - Yasam Paticik - Pati Do Paticik - Spor Paticik - Oyunlar Paticik - MMORPG turleri Paticik - Garbage Son Mesajlar Ana Sayfa Pati Tech Donanım & Yazılım pseudo -> java sorunsalım.
Mirage Mesaj tarihi: Ocak 10, 2009 Paylaş Mesaj tarihi: Ocak 10, 2009 Evet ama sonrasında i kullandığı yerlerde de istikrarlı olarak i - 1 kullanmayı unutma. Edit: Kolaylık olsun diye kodlamaya başlamadan önce pseudo koddaki index'leri 0'dan başlayacak şekilde değiştirebilirsin. Sonra java koduyla pseudo kodunu karşılaştırırken aynı olur bütün index'ler. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Odinn Mesaj tarihi: Ocak 10, 2009 Konuyu açan Paylaş Mesaj tarihi: Ocak 10, 2009 tamamdır çok teşekkürler Mirage ve nedanko :) Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Penthesilea Mesaj tarihi: Ocak 15, 2009 Paylaş Mesaj tarihi: Ocak 15, 2009 said: bu (for int i=0;i bu yanlis. i<=n-1 veya i i Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği… Paylaş Daha fazla paylaşım seçeneği… Takipçiler 0 Konu listesine dön
Öne çıkan mesajlar