Shart operatori

C++ da, umuman, har bir dasturlash tilida muntazam ishlatiladigan operatorlardan biri – shart operatori hisoblanadi. Aynan bu operatorsiz, biror bir mukammal dastur tuzishning umuman iloji yo’q.
Shart operatori biror bir qo’yilgan shartni tekshirib, uning rost yoki yolg’onligidan kelib chiqqan holda biror amal yoki funksiyani bajarishga yordam beruvchi vosita hisoblanadi.
If, else, break, &&, || – kabilar shart operatorining maxsus kalit so’zlari sanaladi va har birining alohida ahamiyati mavjud. Ular bilan ba’zi masalalar orqali tanishib chiqamiz.
Math.h kutubxona fayli bilan tanishganimizda, sonning minimum hamda maksimum qiymatlarini aniqlovchi funksiyalarni ko’rib chiqqan edik. Ushbu funksiyalar qanday ishlashini shart operatorlari orqali o’rganib olamiz.
Ikki sondan kattasini topuvchi dastur tuzing.

#include <iostream>

using namespace std;

int main()
{
    int a, b;
    
    //a va b o'zgaruvchilariga qiymat beramiz
    
    cout << "a = "; cin >> a;
    cout << "b = "; cin >> b;
   
    if(a>b) // Agar a soni b sonidan katta bo’lsa
        cout << "Katta son - " << a << endl; // Katta son – a 
    else // aks holda
    if(a<b) // agar b soni a sonidan katta bo’lsa
        cout << "Katta son - " << b << endl; // Katta son – b
    else // aks holda
        cout << "Sonlar bir-biriga teng" << endl; // Sonlar bir-biriga teng
    
    return 0;
}

Izoh orqali tushuntirildi.
Unutmang! Agar o’zgaruvchiga qiymat berilmasdan ekranga chiqarilsa, tushunarsiz qiymat (garbage value – axlat qiymat, bundan keyin shunday yuritaman) chiqadi.

Diqqat. Shart operatori amal qilinayotganda bajariladigan harakat bittadan ko’p bo’lsa, sohani blokka olish shart!!!
Yuqori misolga o’zgartirish kiritamiz.
Ikki sondan kattasini aniqlab, qiymatini 1 ga oshirib, ekranga har ikkalsini chiqaruvchi dastur tuzilsin.

#include <iostream>

using namespace std;

int main()
{
    int a, b;
    
    //a va b o'zgaruvchilariga qiymat beramiz
    
    cout << "a = "; cin >> a;
    cout << "b = "; cin >> b;
   
    if(a>b) 
       { 
//shartdan keyin ikkita ish bajarilayotgani uchun
          // blokka olamiz {}
           cout << "Katta son - " << a << endl;
	cout << "a++ " << ++b << endl;
       }
    else
    if(a<b)
        {
            cout << "Katta son - " << b << endl;
	cout << "b++ = " << ++b << endl;
        }
    else
	//bu yerda bitta ish bo’layotgani uchun blok kerak emas
        cout << "Sonlar bir-biriga teng" << endl;  
          
    return 0;
} 

Qiymatni oshirishda pre va post inkrementlarni ajrata bilish kerak.

Sonning juft yoki toqligini aniqlovchi dastur tuzing.
Logika: Agar berilgan sonni 2 ga bo’lganimizda qoldiq 0 (nol) qolsa, demak, son – juft, aks holda, toq bo’ladi.

#include <iostream>

using namespace std;

int main()
{
    int a;

    //a o'zgaruvchisiga qiymat beramiz

    cout << "a = "; cin >> a;

    if(a % 2 == 0)
        cout << a << " soni - juft son " << endl;
    else
        cout << a << " soni - toq son " << endl;

    return 0;
}

Diqqat!!! If dan keyin qo’yiladigan shart rost bo’lgandagina tarkibdagi amallar bajariladi. Bool operatorini ishlatganimizda ham shunday.

Mantiqiy toifaga tegishli o’zgaruvchi qiymati rost (true) bo’lsa, programmer.uz, aks holda 0 (nol) chiqarilsin.

#include <iostream>

using namespace std;

int main()
{
    bool b = true;

    if (b) // true bo’lgani uchun programmer.uz chiqariladi
        cout << "Programmer.uz" << endl;
    else
        cout << 0 << endl; // b false bo’lsa 0 chiqariladi

    return 0;
}

Agar gapda qandaydir xatolik topsangiz, Ctrl+Enter orqali xabar bering.

error: Content is protected !!

Spelling error report

The following text will be sent to our editors: