Предмет: Информатика, автор: ksmirnov1

Дан массив C(m), m<=30. Расположить его элементы так, чтобы в начале шли положительные, а потом все остальные. Исходный и переформированный массивы вывести на печать.

Ответы

Автор ответа: Dmon55
0
#include <iostream>

int main(){
  unsigned int m = 0;
  std::cin >> m;
 
  int * c = new int[m];
  int * t = new int[m];
  for (unsigned int i = 0,n = 0; i < m; ++i) {
    std::cin >> c[i];
    (c[i] > 0) ? t[n++] = c[i]: t[m-(i-n)-1] = c[i];
  }
 
  for (unsigned int i = 0; i < m; ++i)
  std::cout << c[i] << ',';  
  std::cout << std::endl;
   
  for (unsigned int i = 0; i < m; ++i)  
std::cout << t[i] << ',';  
  delete c;
  delete t;
  return 0;
}
Похожие вопросы