• С++ сортировка. Дан одномерный массив целых чисел A[1..n]. Напишите программу, которая перепишет в массив B[1..n] сначала в убывающем порядке все положительные элементы массива А, а затем в возрастающем порядке все отрицательные элементы массива А.
    Например, для A = (4, -8, 7, -6, 0, -7, 5), получим B = (7, 5, 4, 0, -8, -7, -6).

Ответы 1

  • #include <iostream>#include <iomanip>using namespace std;int main() {   int n,k;   cout<<"n = ";  cin>>n;   int a[n],b[n];   srand(time(NULL));// запись в массив   for (int i=0; i<n; i++) {        a[i]=15-rand()%30; cout<<a[i]<<" ";    }       cout<<endl;//  сортировка массива по убыванию   for (int i=0; i<n-1; i++)   for (int j=i+1; j<n; j++)       if (a[j]>a[i]) swap(a[i],a[j]);// поиск первого отрицательного   k=0;   while (a[k]>=0) k++;// запись положительных по убыванию   for (int i=0; i<k; i++) b[i]=a[i];//  запись отрицательных по возрастанию   for (int i=k; i<n; i++) b[i]=a[n-i+k-1];// вывод массива b   for (int i=0; i<n; i++) cout<<b[i]<<" ";   cout<<endl;   system("pause");   return 0;}n = 15 -6 -9 -7 12 7 7 -6 6 11 -4 1 10 9 -8 -1 12 11 10 9 7 7 6 1 -9 -8 -7 -6 -6 -4 -1 
  • Добавить свой ответ

Войти через Google

или

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

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

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