Ответы на вопрос:
Одно из решений, возможно, не самое эффективное #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
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
0898765432110.06.2023 13:51
-
kulakovakatyus28.11.2022 12:50
-
Alyona448807.02.2022 16:08
-
vladazimenko1511.12.2020 21:52
-
Аляяяя060428.07.2022 15:39
-
elizavetabobrova18.10.2020 01:04
-
redkiller2210.11.2022 03:46
-
танзила01609.08.2020 19:20
-
Незнайка009113.09.2020 15:48
-
evamayninger2021.02.2023 19:41
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.