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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Наследование классов http://www.cyberforum.ru/cpp-beginners/thread997166.html
Здравствуйте, начал изучать наследование классов и не могу понять как ведут себя конструкторы с параметром. Вот код, но он печатает на экран не то что нужно. Как я понимаю я не правильно оформил конструкторы с параметром, подскажите как надо. #include "stdafx.h" #include <iostream> #include <Windows.h> using namespace std; class Fluid {
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> Выполняется принудительная повторная компиляция всех исходных файлов в связи с отсутствием PDB-файла "Debug\vc100.pdb". 1> Переменные среды переданы инструменту: 1> VS_UNICODE_OUTPUT=700 1> E:\Program Files\Microsoft Visual Studio...
C++ Qt не запускается exe Извините за повтор темы,но как я понял кроме статической линковки qt решения нету? а так же я читал,что добавление пути к dll в переменую окружения тоже решает эту проблему,но вот у меня почему это не помогло...(поставил точку с запитой и вставил путь,к примеру, ";C:\Qt\5.1.1\mingw48_32\bin\Qt5Core.dll\" и всё равно ругался,что её нету...)не подскажите в чём дело? подробнее

Показать сообщение отдельно
MrGluck
Модератор
Эксперт CЭксперт С++
7184 / 4350 / 634
Регистрация: 29.11.2010
Сообщений: 11,843
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;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru