Arama butonu
Bu konudaki kullanıcılar: 1 misafir
2
Cevap
625
Tıklama
0
Öne Çıkarma
Java Histogram Ödevi {Yardım}
M
8 yıl
Er
Konu Sahibi

Merhaba,
< Resime gitmek için tıklayın >


Ödev bu şekilde çıktı verecek ve format aşağıdaki gibi olacak:
/** 
* Created by burakmemis on 18/02/16.
*/
public class drawHistogram {

// kullanıcı tarafından kaç adet değer girilecekse
// o kadar uzunlukta bir dizi oluşturulacaktır..
public static int[] values;

public static int[] repeats = new int[10];

public static void main(String[] args) {
// main metodu içerisinde hiçbir değişiklik yapılmayacaktır
readValues();
calculateRepetation();
drawHorizontalHistogram();
drawVerticalHistogram();

}



public static void readValues() {
// klavyeden girilecek değerler bu fonksiyonda okunacaktır..
}

public static void calculateRepetation() {
/**
bu metot içerisinde belli aralıktaki değerlerden kaç adet
olduğu hesaplanacak ve repeats isimli dizide bu değerler tutulacaktır
örneğin klavyeden 12 32 26 45 15 19 23 şeklinde değerler girilmiş olsun
0 - 9 0
10 - 19 3
...
90 - 100 0

*/
}

public static void drawHorizontalHistogram() {
// yatay histogram bu metot içerisinde oluşturulacaktır..
}

public static void drawVerticalHistogram() {
// dikey histogram bu metot içerisinde oluşturulacaktır..
}
}


Daha önce hep sadece main fonksiyonu altından yaptığımız için şimdi karışık geldi. Bu formata göre yapabilecek varsa yardımlarınızı bekliyorum, teşekkürler...



S
8 yıl
Yüzbaşı

1) read valuesda tek tek okuyup values arrayine atayacak
2) values arrayindeki elemanlari tek tek kontrol ederek hangi aralikta oldugunu bulacak ve repeats arrayinde degeri arttiracak. Mesela 23 sayisi 20-30 arasi yerde gorucek ve repeats[2]+=; yapicak , 2 olmasinin nedeni 0-9 arasi repeat[0] , 10-20 arasi repeat[1] diye gidiceginden , hoca da 10 luk bir array olusturmus zaten .
3) burda printleri gomuceksin 0-9: yazdirip yanina repeat[0] ın degeri kadar yildiz yazdiricaksin alt satira geciceksin . 10-20: yazdirip repeats[1] kadar yildiz basicaksin alt satira geciceksin . Tabi kisa olmasi acisindan ic ice iki dongu yapabilirsin.

4)burda repeats arrayindaki en buyuk sayiyi bulucaksin ornekte 50-59 arasi mesela 5 yildiz var , program baslicak kontrole 5 yildiz var mi 50-59 araligi disinda diye, varsa yazdiricak yoksa alt satira gecicek ve yildiz kontrolunu 1 azalticak, daha sonra yine ayni sekilde bakicak 4 yildiz var mi diye varsa yazdiricak yoksa devam edicek bu sekilde 0 a kadar gidicek. En sonda klasik 0-9,10-19 lari yazdiricaksin. Artik o yildizlarin - hizalarina gelmesini de kendin elle ugrasicaksin , tahminen bu saatte gozlerim gordugu kadariyla ilk baslarken 2-3 bosluk daha sonraki yerlerde 5-6 bosluk birakmalisin gibi gozukuyor .

Yardimci olmaya calistim bu saatte anca bu kadar oluyor , kotu turkcem icin kusura bakma pek anlatamadigimin farkindayim :)



< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
D
8 yıl
Teğmen

Ücretli yardımcı olabilirim isterseniz.



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.