Odinn Mesaj tarihi: Ocak 10, 2009 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.
nedanko Mesaj tarihi: Ocak 10, 2009 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.
Odinn Mesaj tarihi: Ocak 10, 2009 Konuyu açan 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 ?
nedanko Mesaj tarihi: Ocak 10, 2009 Mesaj tarihi: Ocak 10, 2009 bu arada kodunda pseudo koduna gore cok hata var zaten. kombinasyon methodun yanlis mesela.. array i yanlis yaratiyosun falan.
Mirage Mesaj tarihi: Ocak 10, 2009 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.
Odinn Mesaj tarihi: Ocak 10, 2009 Konuyu açan 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 Mirage Mesaj tarihi: Ocak 10, 2009 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. Odinn Mesaj tarihi: Ocak 10, 2009 Konuyu açan Mesaj tarihi: Ocak 10, 2009 tamamdır çok teşekkürler Mirage ve nedanko :) Penthesilea Mesaj tarihi: Ocak 15, 2009 Mesaj tarihi: Ocak 15, 2009 said: bu (for int i=0;i bu yanlis. i<=n-1 veya i i Paylaş https://forum.paticik.com/topic/3800036-pseudo-java-sorunsalym/ 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 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.
Odinn Mesaj tarihi: Ocak 10, 2009 Konuyu açan Mesaj tarihi: Ocak 10, 2009 tamamdır çok teşekkürler Mirage ve nedanko :)
Penthesilea Mesaj tarihi: Ocak 15, 2009 Mesaj tarihi: Ocak 15, 2009 said: bu (for int i=0;i bu yanlis. i<=n-1 veya i i Paylaş https://forum.paticik.com/topic/3800036-pseudo-java-sorunsalym/ Daha fazla paylaşım seçeneği… Takipçiler 0 Konu listesine dön
Öne çıkan mesajlar