С++ сортировка. Дан одномерный массив целых чисел A[1..n]. Напишите программу, которая...

0 голосов
91 просмотров

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


Информатика (12 баллов) | 91 просмотров
0

Ну наконец-то хоть кто-то задал вопрос по С++ ! Сейчас все будет

Дан 1 ответ
0 голосов

#include
#include
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       a[i]=15-rand()%30; cout<<a[i]<<" "; <br>   }    
   cout<<endl;<br>//  сортировка массива по убыванию
   for (int i=0; i   for (int j=i+1; j       if (a[j]>a[i]) swap(a[i],a[j]);
// поиск первого отрицательного
   k=0;
   while (a[k]>=0) k++;
// запись положительных по убыванию
   for (int i=0; i//  запись отрицательных по возрастанию
   for (int i=k; i// вывод массива b
   for (int i=0; i   cout<<endl;<br>   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 

(9.7k баллов)