2-amaliy topshiriq!
Download 1.14 Mb.
|
2-amaliy topshiriq!
for (int i = 0; i < n; i++) // siklda barcha elementlarni qarab chiqadi
{ if (k[i] == key) // agar key qiymatli element topilgan holatda return i; // uning indeksi qaytariladi } return -1; // agar topilmagan holda -1 qaytariladi } int main() { int k[8]; // 8 elementdan iborat massiv yaratish int point; // qidirish natijasi bo'lgan element indeksi // massiv elementlarini kiritish for (int i = 0; i<8; i++) { printf("?'k[%d] kiriting: ", i); scanf("%d", &k[i]); } // qidirishni amalga oshirish point = search(k, 8, 3); if (point == -1) printf("Element topilmadi!\n"); else printf("%d indeksli element 3 ga teng", point); getchar(); getchar(); return 0; } Chiziqli qidirishda transpozitsiya usuli. Bu usulda har bir so’rovda qidirilayotgan element o’rni oldingi element bilad almashtiriladi. Natijada tez-tezdan qidiriladigan element tez topilishini ta’minlaydi. Masala 2. Massivdagi qiymat 3 ga teng elementni topish. #include int search(int *k, int n, int key) { int temp; for (int i = 0; i if (k[i] == key) // agar key qiymatli element topilgan holatda, { if (i == 0) // agar indeks 0 ga teng bo'lsa, return i; // indeks qaytariladi temp = k[i]; // olding element bilan o'rni almashtiriladi k[i] = k[i - 1]; k[i - 1] = temp; return i; } } return -1; } int main() { int k[8]; int point; for (int i = 0; i<8; i++) { printf("?'âåäèòå k[%d]: ", i); scanf("%d", &k[i]); } // qidirish 6 marta qaytalanadi (transpozitsiya hisobga olingan holda) for (int j = 0; j < 6; j++) { point = search(k, 8, 3); // qidirish funksiyasini chaqirish if (point == -1) Download 1.14 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling