var rand = 50; var maxBreite = 400 - 2 * rand; var maxHoehe = 300 - 2 * rand; function minMax(feld) { var ergebnis = new Array(0, 0); for (var i = 0; i < feld.length; i++) { if (ergebnis[0] > feld[i]) ergebnis[0] = feld[i]; if (ergebnis[1] < feld[i]) ergebnis[1] = feld[i]; } return ergebnis; } function balken(turtle, hoehe, breite) { turtle.forward(breite); turtle.left(90); turtle.forward(hoehe); turtle.left(90); turtle.forward(breite); turtle.left(90); turtle.forward(hoehe); turtle.left(90); turtle.forward(breite); } function balkenDiagramm(canvas, turtle, feld) { var breite = maxBreite / feld.length; var extremWert = minMax(feld); var min = extremWert[0]; var max = extremWert[1]; canvas.clear(); turtle.hide(); turtle.move(rand, rand + max / (max - min) * maxHoehe); turtle.right(90); for (var i = 0; i < feld.length; i++) balken(turtle, feld[i] / (max - min) * maxHoehe, breite); }
var myFeld = new Array(); var anz = 50;
function randomInt(left, right) { return Math.floor(Math.random() * (right - left + 1) + left); } function erzeugen(left, right, count) { var feld = new Array(); for (var i = 0; i < count; i++) feld[i] = randomInt(left, right); return feld; } function ausgeben(feld) { var maxAnzahl = 25; var teilFeld = new Array(); var i = 0, j = 0; while (i < feld.length) { j = i + maxAnzahl; if (j < feld.length) teilFeld = feld.slice(i, j); else teilFeld = feld.slice(i, feld.length); console.log(teilFeld); i = j; } }
function sortieren(feld) { for (var i = 0; i < feld.length - 1; i++) for (var j = i + 1; j < feld.length; j++) if (feld[i] > feld[j]) { let temp = feld[i]; feld[i] = feld[j]; feld[j] = temp; } return feld; }
Ungeordnete Zufallszahlen:
Geordnete Zufallszahlen:
console.log("Unsortierte Feldelemente:"); myFeld = erzeugen(1, 100, anz); ausgeben(myFeld); balkenDiagramm(canvas1, turtle1, myFeld); myFeld = sortieren(myFeld); console.log("Sortierte Feldelemente:"); ausgeben(myFeld); balkenDiagramm(canvas2, turtle2, myFeld);
ausführen