Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Удалить из массива все четные числа - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Наследование классов http://www.cyberforum.ru/cpp-beginners/thread997166.html
Здравствуйте, начал изучать наследование классов и не могу понять как ведут себя конструкторы с параметром. Вот код, но он печатает на экран не то что нужно. Как я понимаю я не правильно оформил...
C++ позиции вхождения второй строки в первую #include <stdio.h> #include <conio.h> #include <string.h> int main(int argc, char* argv) { char str; char substr; int i; printf("Vvedi stroku:"); gets(str); http://www.cyberforum.ru/cpp-beginners/thread997157.html
Вычислить и вывести на экран в виде таблицы значения функции C++
Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, на интервале от xнач до xкон c шагом dx с точностью ε. Таблицу снабдить заголовком и шапкой. Каждая...
C++ Динамический массив указателей на объекты
вообщем была тут на форуме задача, в подробности вдаваться не буду, смысл сейчас заключается в том, чтобы создавать в цикле объекты, и в их конструктор записывать в качестве аргумента данные из...
C++ Не строится http://www.cyberforum.ru/cpp-beginners/thread997151.html
К стати, что у меня не строится? Решение? Я не вижу конкретного обьявления строк, ошибок. Вот конец вывода построения 1>Задача "CL" 1> Выполняется принудительная повторная компиляция всех...
C++ Qt не запускается exe Извините за повтор темы,но как я понял кроме статической линковки qt решения нету? а так же я читал,что добавление пути к dll в переменую окружения тоже решает эту проблему,но вот у меня почему это... подробнее

Показать сообщение отдельно
MrGluck
Модератор
Эксперт CЭксперт С++
7278 / 4439 / 650
Регистрация: 29.11.2010
Сообщений: 12,019
04.11.2013, 04:04
Есть вариант занести все ненужные элементы в конец и уменьшить значение переменной, которая показывает условный конец последовательности на количество перенесенных.
Но удалить из статического массива все равно не выйдет.

Добавлено через 10 минут
Есть способ удалить элементы их динамического массива вот таким вот грязным способом:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <iostream>
 
void foo(int *a, int& N)
{
    int counter = 0;
    for (int i=0; i < N; i++)
        counter += (~a[i] & 1);
 
    int *b = new int[counter];
    counter = 0;
 
    for (int i=0; i < N; i++)
        if (~a[i] & 1)
            b[counter++] = a[i];
 
    N = counter;
    delete[] a;
    a = new int[N];
    for (int i=0; i < N; i++)
        a[i] = b[i];
 
    delete[] b;
}
 
void print(const int *a, const int N)
{
    for (int i=0; i < N; i++)
        std::cout << a[i] << " ";
    std::cout << std::endl;
}
 
 
int main()
{
    int N = 5;
    int *a = new int[N];
    for (int i=0; i < N; i++)
        a[i] = i+1;
    print(a, N);
    foo(a, N);
    print(a, N);
    delete[] a;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru