Boşluklar hariç 11. satırda fazladan > işareti var. Sorun bunla alakalı olmasa da belirtmek istedim. Ayrıca sorun bence şundan kaynaklanıyor. Fonksiyonun tanımı if içerisinde? function Sirala() {
}
şeklinde olmalı ve bütün if else'ler bu fonksiyon tanımında yer almalı. Çünkü biz bir fonksiyonu bir koşula bağlı olarak tanımlayıp tanımlamaya karar vermiyoruz. fonksiyon kesinlikle var olacak davranışı koşullara bağlı bir şekilde değişecek.
Ayrıca if-else'de algoritmik hata var bence. if(y>z) den sonraki else içerisinde (y>x && y>z) var. y>z ise birinci if içerisine girer ikinci koşula bakmaz bile. Eğer 1. koşul sağlanmazsa y>z değildir zaten 2.de de y>z false döneceği için oraya da girmez. O kısma da bir daha bakın derim. Bu arada hangi editör ile çalışıyorsunuz?
< Resime gitmek için tıklayın >
<html>
<head>
<title>Quiz</title>
</head>
<body>
<form name=sirala>
<table border="0">
<tr><td><b>Sayı 1</b><input type="text" id="s1"></td></tr>
<tr><td><b>Sayı 2</b><input type="text" id="s2"></td></tr>
<tr><td><b>Sayı 3</b><input type="text" id="s3"></td></tr>
<tr><td>><button onclick="Sirala()">Sırala</button></td></tr>
</table>
</form>
</body>
<script>
var x=parseInt(getElemetById("s1").value);
var y=parseInt(getElemetById("s2").value);
var z=parseInt(getElemetById("s3").value);
if (x>y && x>z)
{
function Sirala()
if (y>z)
{
console.log(x + ", " + y + ", " +z);
}
else
{
console.log(x + ", " + z + ", " +y);
}
}
else if (y>x && y >z)
{
if (x>z)
{
console.log(y + ", " + x + ", " +z);
}
else
{
console.log(y + ", " + z + ", " +x);
}
}
else if (z>x && z>y)
{
if (x>y)
{
console.log(z + ", " + x + ", " +y);
}
else
{
console.log(z + ", " + y + ", " +x);
}
}
</script>
</html>
< Bu mesaj bu kişi tarafından değiştirildi tulley -- 19 Aralık 2020; 22:46:23 >