Toshkent 2023 1-Тажриба иши. "Маълумотларни оддий созланган турлари"


-tajriba ishi. QIDIRUV USULLARINI TADQIQ QILISH



Yüklə 64,09 Kb.
səhifə2/3
tarix25.12.2023
ölçüsü64,09 Kb.
#196667
1   2   3
MTA Adham amaliy ish 123

2-tajriba ishi. QIDIRUV USULLARINI TADQIQ QILISH

Ishdan maqsad: talabalar berilgan tuzilmaning shakliga qarab biror kalitga mos elementni qidirishning optimal usulini qo’llashni o’rganishlari va qidiruv usullarining samaradorligini taqqoslashlari kerak.
Qo’yilgan masala: topshiriq variantidagi masalani so’ralayotgan qidiruv usuli yordamida yechishning C++ tilidagi dasturini yaratish ko’nikmasiga ega bo’lish.
Ish tartibi:



    1. Topshiriq


Variantlar:

13. Transpozitsiya usulidan foydalanib ro‘yhatda qo‘shni elementlari bo‘linmasi juft son bo‘lgan elementni toping. Agar bunday elementlar ko‘p bo‘lsa, u holda ularning eng kattasi yoki eng kichigini toping; agar bunday element mavjud bo‘lmasa – shunga mos ma’lumot chiqaring.


#include

int main() {


const int size = 5; // Ro'yxat o'lchami
int matrix[size][size]; // Matrix o'lchami
int sum = 0; // Juft sonlar yig'indisi

// Matrixni to'ldirish


std::cout << "Matrixni to'ldiring:\n";
for (int i = 0; i < size; ++i) {
for (int j = 0; j < size; ++j) {
std::cout << "matrix[" << i << "][" << j << "]: ";
std::cin >> matrix[i][j];
}
}

// Matrixni chiqarish


std::cout << "\nMatrix:\n";
for (int i = 0; i < size; ++i) {
for (int j = 0; j < size; ++j) {
std::cout << matrix[i][j] << " ";
}
std::cout << "\n";
}

// Transpozitsiya


for (int i = 0; i < size; ++i) {
for (int j = i + 1; j < size; ++j) {
std::swap(matrix[i][j], matrix[j][i]);
}
}

// Transpozitsiya qilingan matrixni chiqarish


std::cout << "\nTranspozitsiya qilingan matrix:\n";
for (int i = 0; i < size; ++i) {
for (int j = 0; j < size; ++j) {
std::cout << matrix[i][j] << " ";
}
std::cout << "\n";
}

// Juft sonlarni topish


bool juftTopildi = false;
for (int i = 0; i < size; ++i) {
for (int j = 0; j < size; ++j) {
if (matrix[i][j] % 2 == 0) {
if (!juftTopildi) {
sum = matrix[i][j];
juftTopildi = true;
} else {
if (matrix[i][j] > sum) {
sum = matrix[i][j];
}
}
}
}
}

// Natija chiqarish


if (juftTopildi) {
std::cout << "\nJuft sonlar ichidan eng katta son: " << sum << std::endl;
} else {
std::cout << "\nJuft son topilmadi.\n";
}

return 0;


}


Yüklə 64,09 Kb.

Dostları ilə paylaş:
1   2   3




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

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin