srand(time(0)); 
for - 1. Kompyuter nima hardware, software Kompyuter nima

|
1. Kompyuter nima hardware, software Kompyuter nima
|
bet | 13/18 | Sana | 14.05.2024 | Hajmi | 91,02 Kb. | | #231246 |
Bog'liq 1. Kompyuter nima hardware, software-fayllar.orgsrand(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++)
coutint 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.
|
| |