Vertikales Histogramm mit Arrays

Trippser861

Neues Mitglied
Servus miteinander,

Ich bin ein ziemlicher Anfänger im Programmieren bzw. speziell Java und habe eine Uniaufgabe, bei der ich mir jetzt schon den Kopf zerbreche. Es geht darum ein vertikales Histogramm/Diagramm zu machen, die mit bestimmten Zeichen (z.Bsp. Sternchen) die Werte meines Arrays ausgibt. Horizontal ist kein Problem, das kriegt man ja ganz einfach mit For Schleifen hin, soweit bin ich auch gekommen. Aber bei jedem weiteren Schritt zerbrech ich mir den Kopf, per Suchfunktion hab ich auch nirgendwo etwas brauchbares gefunden...
Da's mir wichtig ist das Ganze nicht nur abzugeben sondern auch zu verstehen, versuch Ich überall mein Glück.
Die Hauptprobleme sind also die Beschriftung des eigentlichen Diagramms links daneben, und das Ganze vertikal zu kriegen.
Bin über jede Hilfe dankbar!!

[CODE lang="java" title="Test"]public class Main {

public static void main(String[] args) {
double [] data1 = { 1.1, 1.9, 2.2, 3.0, 5.1, 5.2, 4.3, 0.1, 4.5, 5.1};
double [] data2 = { 8.0, 6.0, 4.0, 1.0, 2.0, 3.0, 4.0, 9.0};

for(int i = 0; i < data2.length; i++) {
//i = vertikale Werte, j = horizontale Werte
for(int j = 0; j < data2[ i ]; j++) {
System.out.print("* ");
}
System.out.println();
}
}
}[/CODE]
 
Hallo und herzlich Willkommen.
Ich habe deine Aufgabe leider nicht ganz verstanden. Kannst du evtl. mal eine beispielhafte Ausgabe mitangeben.
Also was soll aus den beiden Array ausgegeben werden ?
 
Hey und Danke!
Sorry, hier ist mal die genaue Aufgabenstellung:

Bildschirmfoto 2020-11-07 um 17.44.30.png

Also ein Histogramm selber ist wie gesagt kein Problem, das hab ich ja schon hingekriegt.
Nur das ganze nun vertikal aufzuziehen + die Beschriftungen machen mir Kopfweh..
 
Pseudo:

Code:
max := findeHoechstenWertGerundet(arr)
for (i := 0; i < max; i++)
  for(j := 0; j < arr.length; j++)
    print(istLangGenugGerundet(arr[j], max - i) ? "x" : " ")
  end for
end for
 

Zurück
Oben