Maksimum hepsi arasında değil
Girilen tüm sayılar arasında değil, yalnızca belirli bir koşulu sağlayan sayılar arasında maksimum (minimum) bulmamız gerekiyorsa, o zaman maksimumun başlangıç değeri olarak aldığımız ilk sayının olduğu gerçeğini dikkate almalıyız. (minimum) her zaman gereksinimlerimizi karşılamaz.
Örneğin, maksimum negatif sayıyı arıyorsak, o zaman veri kümesine sahibiz:
\(\{5, -2, 4, 2, -1, -3\}\ ) maksimumun ilk değerinde 5 sayısını alacağız ve bu pozitiftir ve herhangi bir negatiften daha büyüktür. Ve dolayısıyla koşul
X > M
her zaman yanlış olacaktır.
Bu nedenle, önceki problemden algoritmaya negatif bir sayı için yalnızca bir kontrol eklemek yeterli değildir, ayrıca ilk sayının gerekli koşulu sağlamayabileceğini (bu durumda negatif olabilir) dikkate almak gerekir. ).
Bunu, döngünün içine aşağıdaki koşulu ekleyerek düzeltebilirsiniz:
sözde kod
X negatif ise, o zaman
M >= 0 veya M < ise; X, o zaman
M=X
Belirtilen kodda
M >= 0
koşulu,
M
M = X eylemini gerçekleştirmenize izin verir. > değişkeni başlangıçta açıkça diğerlerinden daha büyük bir değer içerir (bizim örneğimizde değer 5'e eşittir).
Ayrıca, sayı aralığı biliniyorsa, belirtilen aralıktaki minimum (maksimum) sayının maksimumun (minimum) ilk değeri olarak alınabileceğini de not ediyoruz.