Как в С++ удалить элементы массива с заданными условиями?
Здравствуйте. Поискал в вопросах тут своё решение, и не нашёл. Поэтому вот:
- Сжать массив, удалив из него все элементы, модуль которых не превышает 1. Освободившиеся в конце массива элементы заполнить нулями. Размерности массивов вводятся на этапе выполнения и затем выделяется память под элементы массивов. Дополнительный массив не использовать.
P.S. если знаете где подобное разбирается как пример, то было бы полезнее =)
#include<iostream>
using namespace std;
const int n = 10;
int aa[n] = {1, 2, 3, 4, -1, 0, 5, 6};
int main() {
int i, j;
for (i = 0, j = 0; i < n; i++)
if (aa[i] < -1 || aa[i] > 1) aa[j++] = aa[i];
while (j < n) aa[j++] = 0;
for (i = 0; i < n; i++)
cout << aa[i] << ",";
}