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

mrchernuczky698 mrchernuczky698    1   16.06.2019 08:40    9

Ответы
sicrettry sicrettry  13.07.2020 06:59
#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;
}
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика