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

Как удалять определенные значения из массива? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Fopen не видит путь к файлу http://www.cyberforum.ru/cpp-beginners/thread1242204.html
#include <stdio.h> #include <iostream> #include <fstream> #include <string> #include <vector> #include <map> typedef std::map<std::string, std::string> mapss; // An unsigned char can store...
C++ Почему visual studio 2008 не видит директиву #include <iostream> Здравствуйте! Помогите пожалуйста с решением проблемы. Проблема стоит в том что мой компилятор не видит #include <iostream> и требует ввести "stdafx.h" но если я ее ввожу то у меня перестает видить... http://www.cyberforum.ru/cpp-beginners/thread1242200.html
Для каждой открывающей скобки найти позицию ей соответствующей закрывающей скобки C++
Доброго времени суток. Подскажите пожалуйста алгоритм или путь к решению задачи, используя СТЕК Дана ПСП, ваша задача для каждой открывающей скобочки найти позицию ей соответствующей закрывающей...
Корректно ли использовать goto? C++
Читал что оператор goto вообще советуют не использовать, кроме разве что глубоких циклов. Но нормально ли это будет, например, вот в таком коде: int main() { char choice; cin >> choice; while...
C++ Найти медианы на всех префиксах последовательности X длины n и вывести их сумму http://www.cyberforum.ru/cpp-beginners/thread1242172.html
В этой задаче необходимо найти медианы на всех префиксах последовательности X длины n и вывести их сумму. Медианой последовательности из нечетного (k = 2 ⋅ l + 1) количества элементов будем...
C++ Требуется идентификатор, исправить ошибки Помогите, пожалуйста, исправить ошибки. class rus_codecvt : public std::codecvt<char, char, std::mbstate_t> { protected: virtual result do_in(std::mbstate_t&, const char* from, const char*... подробнее

Показать сообщение отдельно
BlackIce
310 / 172 / 64
Регистрация: 18.01.2014
Сообщений: 387
13.08.2014, 21:17
Никак, только переприсвоить этому элементу значение следующего, слудующему значение следующего за ним и т.д. до конца массива, при этом размер массива и выделенной для него памяти не изменяется и вы сами должны следить за текущей длинной массива:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <ctime>
#include <cstdlib>
#include <numeric>
#include <iostream>
#include <algorithm>
#include <functional>
using namespace std;
 
int main() {
    srand(time(0));
    int *a = new int[10], n = 10;
    cout << "массив:";
    for (int i = 0; i < n; ++i) {
        a[i] = rand() % 100;
        cout << ' ' << a[i];
    }
    double avg = accumulate(a, a + n, 0.0) / n;
    cout << "\nсреднее арифметическое: " << avg << endl;
    n = remove_if(a, a + 10, bind2nd(less<double>(), avg)) - a;
    cout << "результат:";
    for (int i = 0; i < n; ++i) cout << ' ' << a[i];
    delete[] a;
}
Если вам нужно именно удалять, то можете воспользоваться std::list или реализовать свой класс для списков.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru