1. Kompyuter nima hardware, software
Download 0.75 Mb.
|
Oraliq javoblari
srand(time(0));
for(int i = ARRAY_HAJM - 1; i > 0; i--) { // 0 <= j <=i oraliqda tasodifiy j-indeksni aniqlash int j = rand() % (i + 1); // myList[i]ni myList[j] bilan almashtirish double temp = myList[i]; myList[i] = myList[j] myList[j] = temp; } 2.Massivelementlariniketma-ketlikdaalmashtirish:Ba’zihollardamassivelementlarinichapda-o`nggayokio`ngdan-chapgaqarab, ketma-ketlikdaalmashtirishgato`g`rikeladi. Masalan, massiv elementlarini o`ngdan-chapga qarab, bitta qadam ketma-ketligida almashtirish mumkin. Bunda oxirgi elementning birinchi element bilan almashtirilishi ko`zda tutiladi: doubLe temp = myList[0]; // Retain the first element // Elementlarni chapdan - o`ngga almashtirish for(inti=1;i< ARRAY_HAJM; i++) { myList[i-1]=myList[i]; } // Oxirgi joyni egallash uchun birinchi elementni ko`chirish myList[ARRAY_HAJM - 1] = temp; 65.Massivlarni funksiyalarga argument sifatida uzatish(passing arrays to functions). Funksiyaga argument sifatida massiv yuborilganda, uning elementlari funksiyadagi parametr massivga ta’minlanishni boshlaydi. Bunda parameter va argumentlarning har ikkalasi ham massiv ko`rinishida bo`ladi. Funksiyaga argument sifatida bitta qiymatni yubora olganimiz singari, yaxlit bir massivni ham yuborishimiz mumkin. Bu kabi funksiyalarning e’lon qilinishi va chaqirilishiga misol 12.3-kodli ro`yxatda keltirilgan. 12.3-kodli ro`yxat. MassivniFunksiyagaYuborish.cpp #include using namespace std; void printMassiv(int list[], int MasHajm); // Funksiya prototipi int main() { intsonlar[5]={1,4,3,6,8}; printMassiv(numbers, 5); //Funksiyani chaqirish return0; } void printMassiv(int mass[],int MasHajm) { for(inti=0;i
Funksiyaning bosh qismida berilgan int list[] ixtiyoriy o`lchamdagi, butun turli massiv parameter ekenligini bildiradi (14-satr). Shuning uchun bu funksiyaga ixtiyoriy butun turli massivni yuborish mumkin (9-satr). Funksiya prototipida massiv parametr nomini kiritish shart emas. Shuning uchun funksiya prototipini quyidagicha, massivli parametr nomisiz yozishimiz mumkin: void printMassiv(int [], int); //Funksiya prototipi 66.Massivlarning funksiyadan qaytishi(returning arrays from functions). Funksiyadan massiv ko`rinishidagi qiymatlarni olish uchun uni parametr ko`rinishida funksiyaga yuborish kerak. Biz funksiyani oddiy turdagi qiymat yoki ob’yekt qaytaruvchi sifatida e’lon qilishimiz mumkin. Masalan: // list dagi elementlar yig`indisi – sum ni chiqarish int sum(const int list[], int hajm) Xo`sh, bu kabi sintaksis bilan funksiyadan massivni qaytarish mumkinmi? Masalan, o`zgartirisshlar kiritilgandan so`ng, yangicha qiymatlarga ega bo`lgan massivni qaytaruvchi funksiyani quyidagicha e’lon qilishga urinib ko`rsak: // o`zgartirilgan list ni qaytarish int[] ishlangan(const int list[], int hajm) C++ da bunga ruxsat berilmagan. Shunday bo`lsa ham, bu ta’qiqlanishni funksiyaga ikkita massivni argument sifatida yuborish orqali chetlab o`tishimiz mumkin: // list ga ishlov berilgandan kalitingi YangiList void reverse(const int list[], int YangiList[], int hajm) Dasturning to`liq qismi 12.5-kodli ro`yxatda keltirilgan. 12.5-kodli ro`yxat. IshlanganMassiv.cpp #include using namespace std; // YangiList list ning qayta ishlangani void ishlangan(const int list[],intangiList[],int hajm){ for (int i = 0, j = hajm - 1; i < hajm; i++, j--) { YangiList[j]= list[i]; } } void printMassiv(const int list[],int hajm) { for (int i = 0; i < hajm; i++) cout< int YangiList[HAJM]; reverse(list,YangiList, HAJM); cout<<"Original assiv: "; printMassiv(list, HAJM); cout << endl; cout << "Ishlov berilgan massiv: "; printMassiv(YangiList, HAJM); cout << endl; return 0; } 67.Massivlarda qidirish (searching arrays, linear search, binary search).Agar massiv saralangan bo`lsa, massivdan biror elementni topish uchun chiziqli qidiruvdan ko`ra ikkilik qidiruvi ko`proq samara beradi.Massivda qidiruv – kerakli elementni topish jarayonidir. Masalan, aniq bir qiymat turining massiv tarkibidagi elementlardan birida mavjudligini tekshirish. Kompyuter dasturlashda eng ko`p qidiruv masalasi uchraydi. Qidirishni amalga oshirishga yo`naltirilgan ko`plab algoritmlar va ma’lumot tuzilmalari mavjud. Bu qismda qidirishni amalga oshirishning ikki xil yondoshuvlari – chiziqli qidiruv va ikkilik qidiruv o`rganiladi. Download 0.75 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling