|
Toshkent 2023 1-Тажриба иши. "Маълумотларни оддий созланган турлари"
|
bet | 1/3 | Sana | 19.05.2024 | Hajmi | 381,24 Kb. | | #244429 |
Bog'liq mta 1-amaliy ish husniddin
O’ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI
Muhammad Al-Xorazmiy nomidagi Toshkent Axborot Texnologiyalari Universiteti
Ma’lumotlar tuzilmasi va algoritmlar
Amaliy ish 1 2 3
Guruh: 028-21
Topshirdi: G’ayratov Husniddin
Toshkent - 2023
1-Тажриба иши. "МАЪЛУМОТЛАРНИ ОДДИЙ СОЗЛАНГАН ТУРЛАРИ"
1-variant
Ишдан мақсад: Маълумотларни оддий турларини ўрганиш ва уларни тадқиқ қилиш.
Қўйилган масала: C++ тилида бутун, ҳақиқий, белгили, мантиқий турдаги маълумотларни эълон қилиш ва уларга доир мисолларни дастурини ишлаб чиқиш .
Иш тартиби:
Тажриба иши тавсифини ўрганиш;
Берилган топшириқни дастури алгоритмини ишлаб чиқиш;
С++ тилида дастурни яратиш;
Дастурни ишлатиш;
масалани ечиш;
хисоботни тайёрлаш.
Топшириқ.
Вариантлар:
Берилган сонлар кетма-кетлигидаги максимал ва минимал элемeнтларни ўрнини алмаштиринг.
#include
#include
// Funksiya prototiplari
void almashtir(std::vector& sonlar, int poz1, int poz2);
int indexMax(std::vector& sonlar, int boshlangich, int oxirgi);
int indexMin(std::vector& sonlar, int boshlangich, int oxirgi);
int main() {
// Sonlar ketma-ketligi
std::vector sonlar = {5, 2, 7, 2, 8, 5, 9, 1, 7};
// Boshlang'ich ketma-ketligi
std::cout << "Boshlang'ich sonlar: ";
for (int son : sonlar) {
std::cout << son << " ";
}
std::cout << std::endl;
// Maksimal va minimal elementlarni o'rnini almashtirish
int pozMax = indexMax(sonlar, 0, sonlar.size() - 1);
int pozMin = indexMin(sonlar, 0, sonlar.size() - 1);
// Almashtirish
almashtir(sonlar, pozMax, pozMin);
// Natija chiqarish
std::cout << "Maksimal va minimal elementlarni almashtirgandan so'ng: ";
for (int son : sonlar) {
std::cout << son << " ";
}
std::cout << std::endl;
return 0;
}
// Almashtirish
void almashtir(std::vector& sonlar, int poz1, int poz2) {
int temp = sonlar[poz1];
sonlar[poz1] = sonlar[poz2];
sonlar[poz2] = temp;
}
// Maksimal elementni indeksini qaytarish
int indexMax(std::vector& sonlar, int boshlangich, int oxirgi) {
int pozMax = boshlangich;
for (int i = boshlangich + 1; i <= oxirgi; ++i) {
if (sonlar[i] > sonlar[pozMax]) {
pozMax = i;
}
}
return pozMax;
}
// Minimal elementni indeksini qaytarish
int indexMin(std::vector& sonlar, int boshlangich, int oxirgi) {
int pozMin = boshlangich;
for (int i = boshlangich + 1; i <= oxirgi; ++i) {
if (sonlar[i] < sonlar[pozMin]) {
pozMin = i;
}
}
return pozMin;
}
|
| |