030-19 guruh talabasi Usanov Abdulfayz
1.Iteratorda begin(), end(), cbegin(), cend(), rbegin(), rend(), crbegin() va crend() erkin funksiyalari nimalarini aniqlashi mumkin?
C ++ 11 dan oldin, Til standartida konteyner sinflari uchun cbegin, cend funktsiyalari mavjud emas edi. Const, mos bo'lmagan ob'ektlar uchun Containter :: iterator va doimiy ob'ektlar uchun Containter :: const_iterator-ni qaytaradigan boshlang'ich, tugatish funktsiyalarining ortiqcha yuklari mavjud edi.
C ++ 11 standartining chiqarilishi bilan vaziyat o'zgardi. O'sha. agar bizga doimiy iterator kerak bo'lsa (konteynerning doimiyligidan qat'iy nazar), biz cbegin / cend ni tanlashimiz kerak. Agar iteratorning tarkibi muhim bo'lmasa - siz boshlash / tugatish tugmalaridan foydalanishingiz mumkin, konteyner konstantasining borligi / yo'qligi asosida to'g'ri ortiqcha yuk tanlanadi.
Cbegin / cend-ni qo'shish zarurati, boshqa narsalar qatori, o'zgarmaydigan turini o'ng tomondagi ifoda turiga qarab xulosa qilish qobiliyatining paydo bo'lishi bilan bog'liq edi:
auto it = c.begin (); // u "c" turiga qarab const_iterator yoki iterator turiga kiradi.
auto it = c.cbegin (); // u har doim const_iterator turida bo'ladi
2. Bubble sort (Pufakchali saralash) qanday amalga oshiriladi?3
Ushbu algoritmni amalga oshirish juda oson, ammo bu safar egoning asosiy kamchiligi - sekin saralash.
Ko'pikni saralash nima?
Bubble sorti, ehtimol men uchratgan eng oddiy navdir. Odatda dasturlash kitobida uchraydi va undan tashqariga chiqmaydi. Bu boshqa saralash algoritmlariga qaraganda ancha sekin bo'lgani uchun.
Ko'pikni saralash nima?
Bubble sorti, ehtimol men uchratgan eng oddiy navdir. Odatda dasturlash kitoblarida uchraydi va undan tashqariga chiqmaydi. Boshqa saralash algoritmlariga qaraganda ancha sekin bo'lgani uchun.
Ammo uning yordami bilan o'zidan ko'ra samaraliroq algoritmlar paydo bo'ldi. Bunday saralashlar qatorida biz shaker saralashni yoki, shuningdek, aralashtirish orqali saralashni ham eslatib o'tamiz.
#include
using namespace std;
int main() {
setlocale(LC_ALL, "rus");
int digitals[10]; //
cout << ": " << endl;
for (int i = 0; i < 10; i++) {
cin >> digitals[i]; // "
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 9; j++) {
if (digitals[j] > digitals[j + 1]) {
int b = digitals[j]; //
digitals[j] = digitals[j + 1]; //
digitals[j + 1] = b;
}
}
}
cout << : ";
for (int i = 0; i < 10; i++) {
cout << digitals[i] << " "; // выводим элементы массива
}
system("pause");
return 0;
3. Talabalar haqida (familiya, ismi, sharfi va telefon) to’plam berilgan. FIO si to’liq yozilganlar va telefoni T ga teng bo’lganlaridan 2- to’plamni hosil qiluvchi va ularni ekranga chiqaruvchi dastur tuzing.
#include
#include
#include
#include
#include
using namespace std;
int main(){ int n; bool t=false;
cout<<"talaba sonini kiriting: ";
cin>>n; cin.ignore();
multimapM, M2;
for(int i=0; i<="">string St; int tel;
cout<" - talaba malumotlarini kiriting: "<
cout<<"Fam, Ismi, Sharifi: "; getline(cin,St);
cout<<"telefon raqami: "; cin>>tel; cin.ignore();
M.insert(pair(St,tel));}
string S; int T;
cout<<"Telefon raqami shu bulgan talabani chiqarsin: ";
cin>>T; int k=0;
for(multimap::iterator it=M.begin();
it !=M.end(); ++it)
{
S=it->first;
if(S.find( " ")second==T){M2.insert(pair(S,T)); t=true;}
}
cout<<" surov natijasi: "<
if(t){cout<<"bor"<
for( multimap::iterator it=M2.begin(); it !=M2.end(); ++it){
cout
}
}
system ("pause");
return 0;}
Do'stlaringiz bilan baham: |