|
Savol : Dasturda jami bo‘lib, necha o‘zgartirish kiritildi?
|
bet | 4/12 | Sana | 15.05.2024 | Hajmi | 122,84 Kb. | | #234504 |
Bog'liq 3-mustaqil ish dasturlash AbduganiyevSavol : Dasturda jami bo‘lib, necha o‘zgartirish kiritildi?
Javob : Taqdim etilgan dasturda jami 3 ta o'zgartirish kiritilgan:
1. vectormyVector; o'rniga vector myVector; yozildi.
2. mySet.insert(01); o'rniga mySet.insert(1); yozildi.
3. Konteynerlarning yarim elementlarini chiqarish uchun qo'shimcha kod qo'shildi.
Birinchi va ikkinchi o'zgartirishlar sintaktik xatolarga yo'l qo'ymaslik uchun kiritildi. Masalan, birinchi o'zgartirishdagi probel mavjud emasligi kompillyator tomonidan xato sifatida qaralishi mumkin.
Uchinchi o'zgartirish esa dasturning funksionalligini kengaytirish uchun kiritildi. Bu o'zgartirishda konteynerlarning yarim elementlari chiqariladi.
Shunga ko'ra, ushbu dasturda jami 3 ta o'zgartirish amalga oshirilgan.
4-misol
#include
#include
using namespace std;
void myPrint(set& myset) {
for (set::iterator it =
myset.begin(); it != myset.end(); ++it)
cout << ' ' <<*it;
cout << '\n';
}
void myPrintmulti(multiset& myset)
{
for(multiset::iterator it =
myset.begin(); it != myset.end(); ++it)
cout << ' ' << *it;
cout << '\n';
}
void mySizeSets(set & myset) {
cout << int
(myset.size()) <<'\n';
}
int main()
{
set myset;
set::iterator it;
int myints[] = { 12,82,37,64,15,15
};
set first(myints, myints + 6);
multiset mfirst(myints, myints
+ 6);
set second;
second = first;
myPrint(first);
myPrintmulti(mfirst);
mySizeSets(second);
mySizeSets(first);
for (int i = 1; i <= 5; i++)
myset.insert(i * 10);
myPrint(myset);
it = myset.find(20);
myset.erase(it);
myset.erase(myset.find(40));
myset.swap(second);
for (set::reverse_iterator rit
= myset.rbegin(); rit != myset.rend();
++rit)
std::cout << ' ' << *rit;
cout << '\n';
while (!myset.empty())
{
cout << ' ' << *myset.begin();
myset.erase(myset.begin());
}
myPrint(myset);
system("pause");
return 0;
}
|
| |