6 : Üç Sayı Arasında En Büyük
Koşullu durumları kontrol etmeyi bir önceki örnekte gördük. Ancak bazı durumlarda bir kaç koşulu aynı anda kontrol etmek gerekebilir. Bu örnekte bu durumlarda nasıl hareket edeceğimizi göreceğiz.
Burada sayı girildikçe işlem yaparak kod satırlarını azalttım. Kullanıcıdan bütün sayıları girip sonra tek tek hangisi büyük hangisi küçük kontrolleriyle yeni değişkenlere atama yaparak sıralayabilirdik.
Burada kurduğum mantık şöyledir. İlk girilen sayı en büyük sayı kabul edilebilir çünkü başka sayı yok elimizde. İkinci sayı girildiğinde ilk sayıdan büyükse güncelleme yapılır aksi durumda devam edilir. Şuan iki sayı girildi ve sayılarımız sıralı durumda olmuş oldu. Artık bir sayı daha girilecek ve bu sayı doğal olarak en küçük sayıya atanacak. Burada bir kontrol daha yapıp eğer en küçük değilse güncelleme yapacağız.
Eğer sayı en büyükse işimiz kolay. Ancak son girilen sayı ortada bir değerdeyse iki kontrolü birden yapmamız gerekli. En büyükten küçük mü VE en küçükten büyük mü? VE ifadesi && ile sağlanır. Burada bilgisayara sayı ortada mı gibi muallak bir soru sormak doğru değil. Matematiksel ifadelerle açık şekilde bu sorguyu tanımlamamız gerekir. val3 val2' den büyük mü ve val3 val1' den küçük mü şeklinde de soramayız. Bilgisayarın anlayacağı soru val3 val2' den büyük mü ve val3 val1' den küçük mü şeklindedir.
Burada VE işlecini kullandık. En sık kullanılan bir diğer işleç de VEYA' dır. || ile gösterilir.
enbuyuk.c
#include<stdio.h> int main() { int val1 = 0, val2 = 0, val3 = 0; int temp = 0; printf("Ilk sayiyi giriniz: \n"); scanf("%d",&val1); printf("Ikinci sayiyi giriniz: \n"); scanf("%d",&val2); if (val2 > val1) { temp = val1; val1 = val2; val2 = temp; } printf("Ucuncu sayiyi giriniz: \n"); scanf("%d",&val3); if (val3 > val1) { temp = val1; val1 = val3; val3 = temp; temp = val2; val2 = val3; val3 = temp; } else if ((val3 > val2) && (val3 < val1)) { temp = val2; val2 = val3; val3 = temp; } printf("en buyuk : %d \n", val1); printf("orta : %d \n", val2); printf("en kucuk : %d \n", val3); }
Burada sayı girildikçe işlem yaparak kod satırlarını azalttım. Kullanıcıdan bütün sayıları girip sonra tek tek hangisi büyük hangisi küçük kontrolleriyle yeni değişkenlere atama yaparak sıralayabilirdik.
Burada kurduğum mantık şöyledir. İlk girilen sayı en büyük sayı kabul edilebilir çünkü başka sayı yok elimizde. İkinci sayı girildiğinde ilk sayıdan büyükse güncelleme yapılır aksi durumda devam edilir. Şuan iki sayı girildi ve sayılarımız sıralı durumda olmuş oldu. Artık bir sayı daha girilecek ve bu sayı doğal olarak en küçük sayıya atanacak. Burada bir kontrol daha yapıp eğer en küçük değilse güncelleme yapacağız.
Eğer sayı en büyükse işimiz kolay. Ancak son girilen sayı ortada bir değerdeyse iki kontrolü birden yapmamız gerekli. En büyükten küçük mü VE en küçükten büyük mü? VE ifadesi && ile sağlanır. Burada bilgisayara sayı ortada mı gibi muallak bir soru sormak doğru değil. Matematiksel ifadelerle açık şekilde bu sorguyu tanımlamamız gerekir. val3 val2' den büyük mü ve val3 val1' den küçük mü şeklinde de soramayız. Bilgisayarın anlayacağı soru val3 val2' den büyük mü ve val3 val1' den küçük mü şeklindedir.
Burada VE işlecini kullandık. En sık kullanılan bir diğer işleç de VEYA' dır. || ile gösterilir.
Yorumlar
Yorum Gönder