• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Javascript Problem

Max Musterman

New member
Hi,

hab in Javascript nen "Zahlensortierer" programmiert, der auch teilweise funktioniert, aber ich noch ein Problem habe.

Und zwar kann ich aktuell nur 2 Zahlen eingeben, die es dann automatisch sortiert.

Ich möchte aber, dass ich mehr Zahlen eingeben kann, weiß im Moment aber nicht, wie ich das anstellen könnte.

Hier der Code:

Code:
function zahlensortierer (){
	
	alert("Herzlich Willkommen zum Zahlensortierer!");
	
	var laengezahl = window.prompt("Geben Sie die Menge Ihrer Zahlen ein!")
	var zahlen = new Array (laengezahl);
	
	var a = 1;
	var b = 0;
	var zwischenspeicher = 0;
	
	
	while (a<=laengezahl) {
		
		var zahl1 = window.prompt("Geben Sie die " + a + ". Zahl ein:")
		zahlen [b] = zahl1;
		b++;
		a++;
		
	}
	
	if (zahlen [0] >= zahlen [1]) {
		
		zwischenspeicher = zahlen [0];
		zahlen [0] = zahlen [1];
		zahlen [1] = zwischenspeicher;
		
		
	}
	
	alert (zahlen [0] +", " +zahlen [1] );
}
 
Zuletzt bearbeitet:
wo eingeben?

PS: verwende niemals new Array(), sondern array = []

Sobald man das Programm startet kann man die Anzahl der Zahlen eingeben, die das Programm sortieren soll.

Bzw. man kann als Zahlenmenge auch ne höhere Zahl eingeben, aber das Programm sortiert immer nur 2 Zahlen.

Das Ziel wäre aber, dass sich das Array immer automatisch erhöht, sodass ich z.B. bei der "Zahlenmenge" 5 eingeben kann und es dann auch die darauffolgenden 5 Zahlen sortiert.

Hoffe meine Erklärung war einigermaßen verständlich.
 
Hi,

hab in Javascript nen "Zahlensortierer" programmiert, der auch teilweise funktioniert, aber ich noch ein Problem habe.

Und zwar kann ich aktuell nur 2 Zahlen eingeben, die es dann automatisch sortiert.
falsch. eingeben funktioniert soweit korrekt.

warum nicht alle AUSgegeben werden liegt hieran:
Code:
	if (zahlen [0] >= zahlen [1]) {
		
		zwischenspeicher = zahlen [0];
		zahlen [0] = zahlen [1];
		zahlen [1] = zwischenspeicher;
		
		
	}
ist ja nicht weiter verwunderlich wenn du hier nur die ersten zwei elemente verarbeitest....

du gehst an die sache falsch heran du brauchst entweder eine schleife - oder sortiere doch einfach das ganze array am schluss:
Code:
var zahlen = [7,3,1,5,9,6,8,2,4,0,10];
console.log(
                  zahlen.sort(
                         function(zahl1, zahl2){
                                  return zahl1 - zahl2;
                         }
                   )
);
//Array [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]
 
Ja, dass ich nur die ersten zwei Elemente angesprochen werden weiß ich, hab nur das Problem mit der Schleife.

Weiß nicht wirklich, wie ich das Array in eine Schleife packen soll.
 
Zurück
Oben