?: shart amali: C++ tilida “?” amali ham aniqlangan bo‘lib tekshirilayotgan shart nisbatan sodda bo‘lsa, shart amalining <> ko‘rinishini ishlatish mumkin:
? : ;
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 dastursi.’’;
cout<<’’\n a- qiymatni kiriting: ‘’;
cin>>a;
cout<<’’\n b- qiymatni kiriting: ‘’;
cin>>b;
c=a>b?a:b;
cout<<’’\nSonlar maksimumi: ‘’<return 0;
}
Dasturdagi 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 qiymati, aks holda b o‘zgaruvchining qiymati o‘zlashtiriladi va c o‘zgaruvchining qiymati chop etiladi.
35
?: 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 dastursi.’’;
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;
}
Do'stlaringiz bilan baham: |