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;
}
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)) {