• 2. Ввести в массив n произвольных чисел (n<=30) Отсортировать отрицательные по убыванию, положительные – по возрастанию, оставив отрицательные на местах, принадлежащих отрицательным, а положительные – на местах, принадлежащих положительным. Вывести на экран исходный и полученный массивы. Дополнительных массивов не использовать.

Ответы 1

  • В C++ работает этот код. Других языков практически не знаю.#include <iostream>int main(){    using namespace std;    const int n = 8;    double Arr[n] = { 122.3, 11.4, -34.2, 17.8, -25.5, -54, 34, -43};    for (int i = 0; i < n; ++i)        cout << Arr[i] << "  ";    cout << endl;    double max, min;    for (int i = 0; i < n; ++i)    {        if (Arr[i] < 0)        {            int inegmax = i;            for (int j = i; j < n; ++j)                if (Arr[j] < 0)                    if (Arr[j] >= Arr[inegmax])                        inegmax = j;            max = Arr[inegmax];            Arr[inegmax] = Arr[i];            Arr[i] = max;        }        else        {            int iposmin = i;            for (int j = i; j < n; ++j)                if (Arr[j] >= 0)                    if (Arr[j] < Arr[iposmin])                        iposmin = j;            min = Arr[iposmin];            Arr[iposmin] = Arr[i];            Arr[i] = min;        }    }    for (int i = 0; i < n; ++i)        cout << Arr[i] << "  ";    cout << endl;    return 0;}
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years