Есть ответ 👍

Напишите процедуру, которая переставляет три переданные ей числа в порядке возрастания. например: 5 15 10 5 10 15 в с++

209
491
Посмотреть ответы 2

Ответы на вопрос:

evika8444
4,7(8 оценок)

#include < iostream> #include < iomanip> using namespace std; void swp(int* a, int* b) {     int c;       c=*a; *a=*b; *b=c;   }     int main() {     int a,b,c,d;     cout< < "input a b c   "; cin> > a> > b> > c;     if (b< a) swp(& a,& b);       if (c< a) swp(& a,& c);     if (c< b) swp(& b,& c);     cout< < a< < " "< < b< < " "< < c< < endl;         system("pause");     return 0; }

random_device rd;

mt19937 eng(rd());

uniform_int_distribution<int> dist(1, 10);

 

int n;

int x;

cin >> n >> x;

 

vector<int> a(n);

for (auto& i : a)

 i = dist(eng);

 

copy(a.cbegin(), a.cend(), ostream_iterator<int>(cout, " "));

 

cout << '\n';

 

sort(a.begin(), a.end());

 

copy(a.cbegin(), a.cend(), ostream_iterator<int>(cout, " "));

 

cout << '\n';

 

if (binary_search(a.cbegin(), a.cend(), x)) {

 cout << x << " found";

} else {

 set<int> temp(a.cbegin(), a.cend());

 

 if (x < *temp.cbegin()) {

   cout << *temp.cbegin();

 } else if (x > *prev(temp.cend())) {

   cout << *prev(temp.cend());

 } else {

   auto f = lower_bound(a.cbegin(), a.cend(), x);

   auto s = upper_bound(a.cbegin(), a.cend(), x);

 

   if (f != a.cend() && s != a.cend()) {

     if (abs(*f - x) < abs(*s - x)) {

       cout << *f;

     } else {

       cout << *s;

     }

   } else if (f == a.cend() && s != a.cend()) {

     cout << *s;

   } else if (f != a.cend() && s == a.cend()) {

     cout << *f;

   }

 }

}

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS