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>
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
< Bu mesaj bu kişi tarafından değiştirildi tulley -- 19 Aralık 2020; 22:46:23 >