2017-02-27 2 views
1

Ich muss die Reihenfolge der Benutzereingaben vom niedrigsten zum höchsten sortieren und in meine ID drucken.Benutzereingabe vom niedrigsten zum höchsten sortieren

Implementieren Sie einen Sortieralgorithmus zum Sortieren von n ganzen Zahlen (ohne die sort() -Methode des Arrays zu verwenden).

Sortiertes Array in der Ausgabe drucken.

<!DOCTYPE html> 
<html> 

<head> 
<title>User Input, Sort and Find!</title> 

<style> 

</style> 
</head> 

<body> 
<h2>Enter 4 numbers user!</h2> 
<p id="myprint"></p> 

<button onclick="userInput()">Input your Numbers!</button> 
<button onclick="searchInput()">Find an inputed number in your array!  </button> 
<script> 
var numbers = []; 

function userInput() { 
for(var i = 0; i < 4; i++){ 
    var num = prompt("Enter a number 1 at a time, from 1-9 until prompts ask you 4 times:"); 
    if (isNaN(num)) { 
    alert("Enter a number!"); 
    --i; // reset the counter for amount of numbers entered 
    } 
    if(!isNaN(num)) { 
     if(num % 1 != 0){ 
     alert("Enter a whole number!") 
     --i; // reset the counter for amount of numbers entered 
     }else{ 
     numbers.push(num); 
     } 
    } 
} 
document.getElementById("myprint").innerHTML = "Your numbers are" + numbers; 
//Sort the array and print numbers in inner html 
function bubbleSort(numbers) { 
    var length = numbers.length; 
    for (var i = (length - 1); i >= 0; i--) { 
     for (var j = (length - i); j > 0; j--) { 
      if (numbers[j] < numbers[j - 1]) { 
       var nmbr = numbers[j]; 
       numbers[j] = numbers[j - 1]; 
       numbers[j - 1] = nmbr; 
      } 
     } 
    } 
} 
function searchInput() { 

} 
} 
</script> 

</body> 
</html> 
+1

Warum ist 'array.sort()' nicht erlaubt? – JohanP

+0

Was macht Ihr aktueller Code eigentlich, wenn Sie ihn ausführen? In dem gezeigten Code rufen Sie niemals 'bubbleSort()' auf. – nnnnnn

Antwort

1

Es sieht aus wie Ihr Code funktioniert, außer dass Sie die bubesort-Funktion tatsächlich aufrufen müssen und diese Funktion dann die Ergebnisse zurückgeben muss.

<body> 
<h2>Enter 4 numbers user!</h2> 
<p id="myprint"></p> 

<button onclick="userInput()">Input your Numbers!</button> 
<button onclick="searchInput()">Find an inputed number in your array!  </button> 
<script> 
var numbers = []; 

function userInput() { 
for(var i = 0; i < 4; i++){ 
    var num = prompt("Enter a number 1 at a time, from 1-9 until prompts ask you 4 times:"); 
    if (isNaN(num)) { 
    alert("Enter a number!"); 
    --i; // reset the counter for amount of numbers entered 
    } 
    if(!isNaN(num)) { 
     if(num % 1 != 0){ 
     alert("Enter a whole number!") 
     --i; // reset the counter for amount of numbers entered 
     }else{ 
     numbers.push(num); 
     } 
    } 
} 

numbers = bubbleSort(numbers); 

document.getElementById("myprint").innerHTML = "Your numbers are" + numbers; 
//Sort the array and print numbers in inner html 
function bubbleSort(numbers) { 
    var length = numbers.length; 
    for (var i = (length - 1); i >= 0; i--) { 
     for (var j = (length - i); j > 0; j--) { 
      if (numbers[j] < numbers[j - 1]) { 
       var nmbr = numbers[j]; 
       numbers[j] = numbers[j - 1]; 
       numbers[j - 1] = nmbr; 
      } 
     } 
    } 
    return numbers; 
} 
function searchInput() { 

} 
} 
</script> 

</body> 

Hier ist ein fiddle that works

+1

Danke Mann, ich kann nicht glauben, dass ich das nicht bemerkt habe lol. Ich bin müde. –

+0

Geschieht uns allen, keine Sorgen. :) – Paul

Verwandte Themen