AMALIY KO‘NIKMA VA MALAKALARNI ANIQLASH HAMDA RIVOJLANTIRISH UCHUN ASSISMENT TOPSHIRIQLARI.
BIRINCHI ASSISMENT TOPSHIRIG‘I
|
Standart algoritmlarga oid berilgan quyidagi dastur bo‘yicha berilgan topshiriqlar kerakli fragmentlari asosida bajaring.
Bunda dasturdagi baʻzi o‘zgartirishlarni topish orqali topshiriqlar bosqichma – bosqich amalga oshriladi.
|
dastur
|
topshiriqlar
|
#include
#include
#include
#include
#include
#include
using namespace std;
bool myfunction(int i, int j) { return i < j; }
int main(){
array arr = { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19 };
int container[] = { 5,10,15,20,25,30,35,40,45,50 };
int continent[] = { 40,30,20,10 };
string myStr[] = { "air","water","fire","earth" };
vector foo(myStr, myStr + sizeof(myStr) / sizeof(myStr[0]));
vector bar(4);
int myints[] = { 10,20,30,30,20,10,10,20 };
vector v(myints, myints + 8);
cout << "Qidirish va o'zgartirish uchun son kirit : ";
int search;
int replace;
cin >> search >> replace;
auto found =find(arr.begin(), arr.end(), search);
if (found == arr.end()) {
cout << search << " topilmadi. " << endl;
}
else {
*found = replace;
}
for (int i : arr) {
cout << i << ' ';
container[i] = i;
}
cout << endl;
sort(container, container + 10);
sort(continent, continent + 4);
if(includes(container, container + 10, continent, continent + 4, myfunction))
cout << "ichma ich massiv !\n";
else
cout << "ichma ich massiv emas !\n";
cout << endl;
move ( foo.begin(), foo.begin()+4, bar.begin() );
foo = move(bar);
cout << endl;
system("pause");
return 0;
}
|
1. Dasturda nechta global funksiya yaratilgan.
Bu dasturda global funksiya yaratilmagan.
|
2. Massivda berilgan massiv elementla ri borligini tekshiruvchi fragmentni o‘zgartiring.
Kodningizda, search o'zgaruvchisiga berilgan qiymatni izlash uchun find() funksiyasi ishlatilgan. Agar topilgan element massivda mavjud bo'lsa, u yerni o'zgartirib replace o'zgaruvchisining qiymatiga almashtiriladi. Kod quyidagicha o'zgartirilishi mumkin:
int searchIndex = -1;
for (int i = 0; i < 10; i++) {
if (arr[i] == search) {
searchIndex = i;
break;
}
}
if (searchIndex == -1) {
cout << search << " topilmadi. " << endl;
}
else {
arr[searchIndex] = replace;
}
|
3.Dasturning qaysi fragmentini izohlab qo‘ysa, massivda berilgan massiv elementlari bor deb chiqadi.
Kodningizda, includes() funksiyasi ishlatilgan. Bu funksiya, birinchi bermoqchi bo'lgan massivda ikkinchi bermoqchi bo'lgan massivning barcha elementlarini qidiradi. Agar birinchi massivda ikkinchi massivdagi barcha elementlar mavjud bo'lsa, true qaytaradi. Aks holda, false qaytaradi. Bu funksiyani izohlab quyidagicha yozish mumkin:
if (includes(container, container + 10, continent, continent + 4)) {
cout << "ichma ich massiv!" << endl;
}
else {
cout << "ichma ich massiv emas!" << endl;
}
|
4. Massivda berilgan massiv elementlari bor degan fragment qachon ishlamaydi.
includes() funksiyasi, birinchi massivni kichikdan katta bo'lgan tartibda saralab, ikkinchi massivdagi elementlarni izlaydi. Agar birinchi massiv kichikdan katta bo'lsa, yoki ikkinchi massiv kichikdan katta tartibda kelgan bo'lsa, funksiya ishlamaydi.
|
5. Move amali necha marta bajarilgan.
move() funksiyasi bir marta bajarilgan, va u foo vektorini bar vektoriga ko'chirib o'tiradi.
|
6. Birinchi qaysi kutubxonaga taʻluqli.
Birinchi kutubxonaga algorithm, array, iostream, utility, vector kutubxonalari ta'luqli.
|
7. Ikkinchi qaysi kutubxonaga taʻluqli.
Ikkinchi kutubxonaga string kutubxonasi ta'luqli.
|
8. Foo vektorning elementlari ekranga chiqarish fragmentini kiriting
foo vektorning elementlarini ekranga chiqarish uchun quyidagi kod ishlatilishi mumkin:
for (string s : foo) {
cout << s << " ";
}
|
9. Dasturda jami bo‘lib, necha o‘zgartirish kiritildi. Dasturda faqatgina bir marta o'zgartirish kiritilgan.
10. Shu dasturning analogini yaratish sizga mustaqil vazifadir.
#include
#include
#include
using namespace std;
bool myfunction(int i, int j) { return i < j; }
int main() {
int arr[] = {1, 3, 5, 7, 9};
vector vec(arr, arr + sizeof(arr) / sizeof(int));
for (int i : vec) {
cout << i << " ";
}
cout << endl;
sort(vec.begin(), vec.end(), greater());
for (int i : vec) {
cout << i << " ";
}
cout << endl;
replace(vec.begin(), vec.end(), 5, 10);
for (int i : vec) {
cout << i << " ";
}
cout << endl;
int n = 2;
vector newVec(vec.begin() + n, vec.end());
for (int i : newVec) {
cout << i << " ";
}
cout << endl;
replace(vec.begin(), vec.begin() + n, 10, 15);
for (int i : vec) {
cout << i << " ";
}
cout << endl;
int search = 7;
auto found = find(vec.begin(), vec.end(), search);
if (found != vec.end()) {
cout << "Topildi: " << *found << endl;
} else {
cout << "Topilmadi." << endl;
}
sort(vec.begin(), vec.end(), greater());
for (int i : vec) {
cout << i << " ";
}
cout << endl;
int arr2[] = {10, 15, 20};
vector vec2(arr2, arr2 + sizeof(arr2) / sizeof(int));
if (includes(vec.begin(), vec.end(), vec2.begin(), vec2.end(), myfunction)) {
cout << "Ichma-ich massiv." << endl;
} else {
cout << "Ichma-ich massiv emas." << endl;
}
return 0;
}
|
Do'stlaringiz bilan baham: |