2-Topshiriq do while sikli


Berilgan n ta haqiqiy sonlar orasidan biror butin songa eng yaqinining tartib nomeri topilsin


Download 285.77 Kb.
bet4/7
Sana02.06.2024
Hajmi285.77 Kb.
#1833965
1   2   3   4   5   6   7
Bog'liq
4-amalyot

Berilgan n ta haqiqiy sonlar orasidan biror butin songa eng yaqinining tartib nomeri topilsin

#include
#include // std::abs

int main() {


// Natural n va n ta haqiqiy sonlar
int n;

// Foydalanuvchidan n ni olish


std::cout << "Natural n soni: ";
std::cin >> n;

// n ta haqiqiy sonlarni olish va eng yaqin butin songa eng yaqinining tartib nomerini topish


double eng_yaqin_butun_son = 0;
int tartib_nomeri = 0;

for (int i = 0; i < n; ++i) {


double son;
std::cout << "Haqiqiy son #" << i + 1 << ": ";
std::cin >> son;

int butun_songa_yaqinlik = std::abs(static_cast(son + 0.5) - son);


int eng_yaqin_butun_songa_yaqinlik = std::abs(static_cast(eng_yaqin_butun_son + 0.5) - eng_yaqin_butun_son);

if (i == 0 || butun_songa_yaqinlik < eng_yaqin_butun_songa_yaqinlik) {


eng_yaqin_butun_son = son;
tartib_nomeri = i + 1;
}
}

// Eng yaqin butin son va uning tartib nomerini ekranga chiqarish


std::cout << "Eng yaqin butin son: " << eng_yaqin_butun_son << std::endl;
std::cout << "Eng yaqin butin sonning tartib nomeri: " << tartib_nomeri << std::endl;

return 0;


}




    1. Butin n (n>0) soni va n ta bir biridan farqli haqiqiy sonlar ketma-ketligi berilgan. Ketma-ketlikda o’suvchi ketma-ketliklar kamayuvchiga va kamayuvchi ketma-ketliklar o’suvchiga o’zgarishlar soni chop qilinsin. (Masalan, 1 ,2, 4, -3, -5, 8 ,4,-5 ketma-ketlikda 3 marta o‘zgaradi)

#include

int main() {


// Natural n va n ta bir biridan farqli haqiqiy sonlardan iborat ketma-ketlik
int n;

// Foydalanuvchidan n ni olish


std::cout << "Natural n soni: ";
std::cin >> n;

// n ta haqiqiy sonlarni olish va ketma-ketlikda o’suvchi va kamayuvchi o’zgarishlar sonini hisoblash


int osuvchi_ozgarishlar = 0;
int kamayuvchi_ozgarishlar = 0;

double prev, current;


std::cout << "Haqiqiy son #1: ";
std::cin >> prev;

for (int i = 1; i < n; ++i) {


std::cout << "Haqiqiy son #" << i + 1 << ": ";
std::cin >> current;

if ((prev > 0 && current > 0) || (prev < 0 && current < 0)) {


// O’suvchi ketma-ketlik
osuvchi_ozgarishlar++;
} else {
// Kamayuvchi ketma-ketlik
kamayuvchi_ozgarishlar++;
}

prev = current;


}
// O’suvchi va kamayuvchi o’zgarishlar sonini ekranga chiqarish
std::cout << "O’suvchi ketma-ketliklar soni: " << osuvchi_ozgarishlar << std::endl;
std::cout << "Kamayuvchi ketma-ketliklar soni: " << kamayuvchi_ozgarishlar << std::endl;
return 0;
}




    1. Download 285.77 Kb.

      Do'stlaringiz bilan baham:
1   2   3   4   5   6   7




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