Nurdullayev alisher



Yüklə 26,79 Kb.
tarix14.12.2023
ölçüsü26,79 Kb.
#179421


MUHAMMAD AL-XORAZMIY NOMIDAGI
TOSHKENT AXBOROT TEXNOLOGIYALARI
UNIVERSITETI

“AKT sohasida kasb ta’limi” yo’nalishi 652-22 guruh talabasi


MUSURMONOV SAMANDARning
Malumotlar tuzulmasi va algoritmlash”
fanidan tayyorlagan
2-Amaliy ishi
TEKSHIRDI: NURDULLAYEV ALISHER


Toshkent – 2023
1-MISOL


Boshiga qo‘yish va transpozitsiya usulidan foydalanib massiv eng katta elementi topilsin.

.......
CODI:

#include
using namespace std;
int engKattaElement(int arr[], int size) {
int max = arr[0];
for (int i = 1; i < size; i++) {
if (arr[i] > max) {
max = arr[i];
}}
return max;
}
int main() {
int array[] = {10, 5, 8, 20, 15};
int size = sizeof(array) / sizeof(array[0]);
int result = engKattaElement(array, size);
cout << "Eng katta element: " << result << endl;

return 0;
}


NATIJA:



2-MISOL

Eratosfen elagi usuli bo'yicha N oʻlchamli massiv tashkil qilinsin. Keyin foydalanuvchi kiritgan tub sonni tub sonlar ichida nechanchi oʻrinda ekanligi aniqlansin. Interpolyatsionqidirish algoritmidan foydalanilsin.

……
CODI:

#include
#include
#include
using namespace std;
vector eratosthenesSieve(int n) {
vector isPrime(n + 1, true);
vector primes;

for (int p = 2; p * p <= n; p++) {
if (isPrime[p]) {
for (int i = p * p; i <= n; i += p)
isPrime[i] = false;
}
}

for (int p = 2; p <= n; p++) {
if (isPrime[p])
primes.push_back(p);
}

return primes;
}
int interpolationSearch(std::vector& arr, int x) {
int low = 0;
int high = arr.size() - 1;

while (low <= high && x >= arr[low] && x <= arr[high]) {
if (low == high) {
if (arr[low] == x)
return low;
return -1;
}

int pos = low + (((double)(high - low) / (arr[high] - arr[low])) * (x - arr[low]));

if (arr[pos] == x)
return pos;
if (arr[pos] < x)
low = pos + 1;
else
high = pos - 1;
}

return -1;
}

int main() {
int N;
cout << "Massiv o'lchamini kiriting: ";
cin >> N;

vector primes = eratosthenesSieve(N);
int num;
cout << "Qidirilayotgan tub sonni kiriting: ";
cin >> num;

int index = interpolationSearch(primes, num);
if (index != -1)
cout << num << " massivning " << (index + 1) << "-o'rinda." << endl;
else
cout << num << " massivda topilmadi." << endl;

return 0;
}

N ATIJA:
Yüklə 26,79 Kb.

Dostları ilə paylaş:




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©www.azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin