Дан массив C(m), m меньше =30. Расположить его элементы так, чтобы в начале шли положительные, а потом все остальные. Исходный и переформированный массивы вывести на печать.
Дан массив C(m), m<=30. Расположить его элементы так, чтобы в начале шли положительные, а потом все остальные. Исходный и переформированный массивы вывести на печать.
Ответ(ы) на вопрос:
#include
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;
}
Не нашли ответ?
Похожие вопросы