Ternar operatori
Agar tekshirilayotgan shart nisbatan sodda bo’lsa, shart operatorining ?: ko’rinishini ishlatish mumkin. Bu qurilma quyidagi ko’rinishga ega:
? 1 : 2;
if shart operatoriga o’xshash holda bu shart operatori quyidagicha amal qiladi: agar rost (true) bo’lsa 1 bajariladi, aks holda 2. Odatda ifodalar qiymatlari birorta o’zgaruvchiga o’zlashtiriladi.
Misol tariqasida ikkita butun son maksimumini topish masalasini ko’raylik.
#include
int main()
{
int a,b,c;
cout <<”a va b sonlar maksimumini topish programmasi! ”;
cout<<”\n a – qiymatini kiriting: ”;
cin>>a;
cout<<”\n b – qiymatini kiriting: ”;
cin>>b;
c = (a>b)? a : b;
cout <<”\n sonlar maksimumi: “<
return 0;
}
Programmadagi shart operatori qiymat berish operatorining tarkibiga kirgan bo’lib, a o’zgaruvchi qiymatini b o’zgaruvchi qiymatidan kattaligi tekshiriladi, agar shart rost bo’lsa c o’zgaruvchisiga a o’zgaruvchi qiymatini, aks holda b o’zgaruvchi qiymatini o’zlashtiradi va c qiymati chop etiladi.
?: operatorining qiymat qaytarish xossasidan foydalangan holda, uni bevosita cout ko’rsatmasiga qo’yish orqali ham qo’yilgan masalani yechish mumkin:
#include
int main()
{
int a,b;
cout <<”a va b sonlar maksimumini topish programmasi! ”;
cout<<”\n a – qiymatini kiriting: ”;
cin>>a;
cout<<”\n b – qiymatini kiriting: ”;
cin>>b;
cout <<”\n sonlar maksimumi: “<<(a>b)? a : b;
return 0;
}
Do'stlaringiz bilan baham: |