Есть ответ 👍

РЕШИТЬ ЗАДАЧУ ПО ИНФОРМАТИКЕ

210
356
Посмотреть ответы 1

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


Одно из решений, возможно, не самое эффективное #include < iostream> #include < iomanip> int main() {       using namespace std;       //исходная последовательность       const int n = 8;       double arr[n] = { 14.2, -3.4, 7.8, -3.1, 8.2, 98.22, -7, 12 };       //вывод на экран исходной последовательности       for (int i = 0; i < n; ++i)             cout < < arr[i] < < "  ";       cout < < endl;       //подсчитаем количества отрицательных и неотрицательных элементов       int kpos = 0;       int kneg = 0;       for (int i = 0; i < n; ++i)             if (arr[i] < 0)                   ++kneg;             else                   ++kpos;       //создадим массивы отрицательных и неотрицательных элементов       double * arrneg = new double[kneg];       double * arrpos = new double[kpos];       int kn = 0, kp = 0;       for (int i = 0; i < n; i++)             if (arr[i] < 0)                   arrneg[kn++] = arr[i];             else                   arrpos[kp++] = arr[i];       cout < < "enter a, b, c or d: ";       char ch;       cin > > ch;       if (ch == 'a' || ch == 'b' || ch == 'c' || ch == 'd')       {             switch (ch)             {                   //пункт а)                   case 'a':                         for (int i = 0; i < kneg; ++i)                               arr[i] = arrneg[i];                         for (int i = 0; i < kpos; ++i)                               arr[i + kneg] = arrpos[i];                         break;                         //пункт б)                   case 'b':                         for (int i = 0; i < kneg; ++i)                               arr[i] = arrneg[--kn];                         for (int i = 0; i < kpos; ++i)                               arr[i + kneg] = arrpos[i];                         break;                         //пункт в)                   case 'c':                         for (int i = 0; i < kneg; ++i)                               arr[i] = arrneg[i];                         for (int i = 0; i < kpos; ++i)                               arr[i + kneg] = arrpos[--kp];                         break;                         //пункт г)                   case 'd':                         for (int i = 0; i < kneg; ++i)                               arr[i] = arrneg[--kn];                         for (int i = 0; i < kpos; ++i)                               arr[i + kneg] = arrpos[--kp];                         break;             }       }       else             cout < < "you entered wrong symbol\n";       for (int i = 0; i < n; ++i)             cout < < arr[i] < < "  ";       cout < < endl;       delete[] arrneg;       delete[] arrpos;       return 0; }

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

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

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

Caktus Image

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

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

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

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

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

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

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

GTP TOP NEWS