Задан массив Z(N).Переписать его в массив Y, таким образом, чтобы в массиве Y были расположены сначала положительные, затем отрицательные, затем нулевые элементы.
С++
Другие языки программирования и технологии
Задан массив Z(N).Переписать его в массив Y. С++
#include <iostream>
using namespace std;
void transform(int* va, int* vb, const size_t n) {
auto pos = 0U;
for (auto i = 0U; i < n; ++i) if (va[i] > 0) vb[pos++] = va[i];
for (auto i = 0U; i < n; ++i) if (va[i] < 0) vb[pos++] = va[i];
while (pos < n) vb[pos++] = 0;
}
void show(int* vec, const size_t n) {
for (auto i = 0U; i < n; ++i) cout << ' ' << vec[i];
cout.put('\n');
}
int main() {
int box[] = { 1, 3, -8, 3, 0, 4, -7, -3, 0, 4, -1, -5, 0, 2 };
const auto n = size(box);
int tmp[n];
transform(box, tmp, n);
show(box, n);
show(tmp, n);
system("pause");
}
using namespace std;
void transform(int* va, int* vb, const size_t n) {
auto pos = 0U;
for (auto i = 0U; i < n; ++i) if (va[i] > 0) vb[pos++] = va[i];
for (auto i = 0U; i < n; ++i) if (va[i] < 0) vb[pos++] = va[i];
while (pos < n) vb[pos++] = 0;
}
void show(int* vec, const size_t n) {
for (auto i = 0U; i < n; ++i) cout << ' ' << vec[i];
cout.put('\n');
}
int main() {
int box[] = { 1, 3, -8, 3, 0, 4, -7, -3, 0, 4, -1, -5, 0, 2 };
const auto n = size(box);
int tmp[n];
transform(box, tmp, n);
show(box, n);
show(tmp, n);
system("pause");
}
#include <iostream>
using namespace std;
int main() {
const int N = 5;
int Z[N] {1, -2, 0, 4, -5}, Y[N], j = 0;
for (int i = 0; i < N; i++) {
if (Z[i] > 0) Y[j++] = Z[i];
}
for (int i = 0; i < N; i++) {
if (Z[i] < 0) Y[j++] = Z[i];
}
for (int i = 0; i < N; i++) {
if (Z[i] == 0) Y[j++] = Z[i];
}
for (auto n : Y) cout << n << " ";
}
using namespace std;
int main() {
const int N = 5;
int Z[N] {1, -2, 0, 4, -5}, Y[N], j = 0;
for (int i = 0; i < N; i++) {
if (Z[i] > 0) Y[j++] = Z[i];
}
for (int i = 0; i < N; i++) {
if (Z[i] < 0) Y[j++] = Z[i];
}
for (int i = 0; i < N; i++) {
if (Z[i] == 0) Y[j++] = Z[i];
}
for (auto n : Y) cout << n << " ";
}
Похожие вопросы
- Помогите Задан массив Р(N).Переписать все его элементы,за исключением максимального и минимального в массив D.(язык C++)
- задан массив(с++) n*m нужно найти минимальный элемент в каждой строчке, а затем среди них максимальный
- C# Дан массив размера N. Найти 2 элемента массива, сумма которых наиболее близка к максимуму массива и поменять
- Задан массив m на n. Числа m и n вводятся вручную. Заполнить массив случайным образом. Найти произведение чисел от 10 до
- помогите пожалуйста проверить код на языке си, программа работает неверно - не выдает сумму массива Z
- Помогите найти алгоритм подбора множителей к числам заданного массива, сумма произведений которых равна заданному числу
- Дан линейный массив чисел N. N вводит пользователь. Вывести все простые числа массива.
- помогите склась програму в паскале:переписать в массив Y[4x4] елементы масива X[4x4] в порядку возростання.
- Заполнить случайным образом одномерный массив из n элементов и обменять местами последний и максимальный (в паскале)
- Составьте программу, отыскивающую наибольший элемент массива A(N) из числа принадлежащим интервалу {min,(min+max\2))