;
Shart amali if shart operatoriga o‘xshash holda ishlaydi: agar 0 qiymatidan farqli yoki true bo‘lsa, , aks holda bajariladi. Odatda ifodalar qiymatlari birorta o‘zgaruvchiga o’zlashtiriladi.
Misol tariqasida ikkita butun son maksimumini topish ko‘raylik.
#include
int main()
{
int a,b,c;
cout<<”a va b sonlar maksimumini topish programmasi.’’;
cout<<’’\n a- qiymatni kiriting: ‘’;
cin>>a;
cout<<’’\n b- qiymatni kiriting: ‘’;
cin>>b;
c=a>b?a:b;
cout<<’’\nSonlar maksimumi: ‘’<
return 0;
}
Programmadagi shart operatori qiymat berish operatorining tarkibiga kirgan bo‘lib, a o‘zgaruvchining qiymati b o‘zgaruvchining qiymatidan kattaligi tekshiriladi, agar shart rost bo‘lsa c o‘zgaruvchiga a o‘zgaruvchi qiymatini, aks holda b o‘zgaruvchining qiymatini va c o‘zgaruvchisining qiymati chop etiladi.
?: amalining qiymat qaytarish xossasidan foydalangan holda, uni bevosita cout ko‘rsatmasiga yozish orqali ham qo‘yilgan masalani yechish mumkin:
#include
int main()
{
int a,b;
cout<<”a va b sonlar maksimumini topish programmasi.’’;
cout<<’’\n a- qiymatni kiriting: ‘’;
cin>>a;
cout<<’’\n b- qiymatni kiriting: ‘’;
cin>>b;
c=a>b?a:b;
cout<<’’\nSonlar maksimumi: ‘’<<(a>b) ?a:b;
return 0;
}