24)berilgan komondaning konsol oynaga chiqandagi natijasi
2-savol
Nima uchun ob’yektni funksiyaga uzatishda havola orqali uzatish afzalroq? Javobingizni batafsil keltiring.
Javobi
Ob’yektlar funksiyalarga qiymat orqali yoki havola orqali uzatilishi mumkin. Ob’yektlarni havolalar orqali uzatish samarali yo’l hisoblanadi.
Avvalgi mavzularda funksiyaga bazaviy turlarni, massivlarni va satrlarni uzatish qarab o’tilgan edi. Siz ob’yektlarni funksiyaga uzatishingiz mumkin. Ob’yektlar funksiyaga qiymat orqali yoki havola orqali uzatilishi mumkin. Listing 10.3 da ob’yekt qiymat orqali uzatilishi ko’rsatilgan.
Hafola orqali uzatish qiymat orqali uzatishdan afzalligini ko’rishimiz mumkin;
3-savol
(Anagramlar) Ikki so’zni anagramlikka tekshiriuvchi funksiya yarating. Ikki so’zning tarkibidagi harflar bir xil bo’lsa, u holda bu ikki so’z anagram deyiladi. Misol uchun, “silent” va “listen” so’zlari anagram so’zlar hisoblanadi. Funksiya prototipi quyidagicha bo’lishi mumkin:
bool isAnagram(string s1, string s2);
Foydalanuvchi ikki so’z kiritsin va bu so’zlar anagramligini tekshiruvchi test dastur yozing.
Javobi
Dastur kodi;
#include #include using namespace std;
int main()
{
bool isAnagram(string s1,string s2);
string s1,s2,t1,t2;
getline (cin,s1);
getline (cin,s2);
t1=s1.size();t2=s2.size();
string s=s1;
if(t1==t2)
cout< else
cout< return 0;
}
#include #include using namespace std;
int main()
{
string s1,s2;
int a,t1,t2;
getline(cin,s1);
getline(cin,s2);
int shart;
t1=s1.size();
t2=s2.size();
if(t1!=t2)
{
cout<}
else
{
for(int i = 0; i < t1; i++)
{
a = s2.find(s1.at(i));
if(a == (-1))
{
shart = 0;
}
else
shart = 1;
}
if (shart == 0)
cout<else
cout<return 0;
}
4-savol
(MyInteger sinfi) MyInteger nomli sinf yarating. Sinf quyidagilardan iborat bo’lsin:
int turidagi qiymat nomli ma’lumot maydoni.
MyInteger ob’yektini yaratuvchi konstruktor.
int qiymatni qaytaruvchi konstanta get funksiyasi.
Agar qiymat juft, toq yoki tub son bo’lsa, u holda isJuft(), isToq(), isTub() true qiymat qaytaruvchi konstanta funksiyalar.
Agar qiymat juft, toq yoki tub son bo’lsa, u holda isJuft(int), isToq(int), isTub(int) true qiymat qaytaruvchi static funksiyalar.
Agar qiymat juft, toq yoki tub son bo’lsa, u holda isJuft(const MyInteger&), isToq(const MyInteger&), isTub(const MyInteger&) true qiymat qaytaruvchi konstanta funksiyalar.
Agar ob’yektdagi qiymat ko’rsatilgan qiymatga teng bo’lsa, u holda equals(int) va equals(const MyInteger&) true qiymat qaytaruvchi constant funksiyalar.
Satrni int qiymatga o’tkazuvchi parseInt(const string&) static funksiyasi.
Sinfni implementatsiya qiling. Sinfdagi barcha funksiyalarni testlovchi dastur yozing.
Javobi;
#include using namespace std;
class MyInteger
{
public:
int qiymat;
MyInteger()
{
qiymat=0;
}
MyInteger(int Q)
{
qiymat=Q;
}
double getArea()
{
if(qiymat%2==0)
cout<<"Juft()";
else
if(qiymat%2==1)
cout<<"Toq()";
return qiymat;
}
};
int main()
{
MyInteger qiymat1(5.0);
cout<return 0;
}