Guruh: 623-21 Talaba: Baxtiyorov Muhammadqodir Fan: Algoritmlarni loyihalash Dedline: 1


Download 429.54 Kb.
bet3/3
Sana13.05.2023
Hajmi429.54 Kb.
#1455624
1   2   3
Bog'liq
dedline-1

Amaliy mashg‘ulot - 5
Savol:
Ism Familyangizdagi elementlarni saralang va binarqidiruv algoritmidan foydalanib ixtiyoriy elementni joylashgan indeksini toping.
Misol uchun: tojiyevlochinbek
Javob:


Dastur codi va natija


#include
int
binaryqidiruv (char a[], int b, int o, char x)
{
if (o >= b)
{
int mid = b + (o - b) / 2;
if (a[mid] == x)
return mid;
if (a[mid] > x)
return binaryqidiruv (a, b, mid - 1, x);
return binaryqidiruv (a, mid + 1, o, x);
}
return -1;
}


using namespace std;
int
main ()
{
int n;
std::cout << "Massiv elementlari sonini kiriting: " << std::endl;
std::cin >> n;
char a[n];
std::cout << "Massiv elementlari kiriting:" << std::endl;
for (int i = 0; i < n; i++)
std::cin >> a[i];
for (int i = n - 1; i > 0; i--)
{
for (int j = 0; j < i; j++)
{
if (a[j] > a[j + 1])
{
swap (a[j], a[j + 1]);
}
}
}
std::cout << "Saralangan massiv: " << std::endl;
for (int i = 0; i < n; i++)
std::cout << a[i] << " " << std::endl;
char x;
std::cout << "Qidirilayotgan elementni kiriting: " << std::endl;
std::cin >> x;
int natija = binaryqidiruv (a, 0, n - 1, x);
std::cout << natija << std::endl;
return 0;
}

Download 429.54 Kb.

Do'stlaringiz bilan baham:
1   2   3




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling