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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Just_2D
0 / 0 / 0
Регистрация: 08.03.2013
Сообщений: 22
#1

Удаление элемента в динимическом массиве - C++

11.03.2013, 19:24. Просмотров 320. Ответов 4
Метки нет (Все метки)

Есть динамический массив, нужно удалить с него элемент, и сразу же уменьшить размерность массива на 1.
Помогите это реализовать. Заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.03.2013, 19:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Удаление элемента в динимическом массиве (C++):

Вставка элемента в заданную позицию, удаление элемента по заданной позиции, поиск заданного элемента - C++
Добавить в класс "Односвязный список" следующие функции: вставка элемента в заданную позицию, удаление элемента по заданной позиции, поиск...

Описать класс «множество» (добавление и удаление элемента, пересечение, объединение и удаление множеств ) - C++
Описать класс «множество», позволяющий выполнять основные операции – добавление и удаление элемента, пересечение, объединение и удаление...

Сделать добавление элемента в массив и удаление элемента из массива используя STL - C++
Всем привет. Помогите пожалуйста написать. Нужно использовать STL. Необходимо сделать добавление элемента в массив и удаление элемента из...

Реализация списка.Удаление хвостового элемента.Поиск элемента - C++
Всем привет,мое задание выглядит так : В класс List<T> из классной работы добавить следующие методы: void addHead(T...

Удаление элемента из списка и поиск элемента - C++
Нужно удалить определенный элемент из списка. Найти элемент в списк и вывести на него всю информацию. Вот код. Не знаю как написать...

Нахождение максимального элемента в массиве и его индекс (элемента) - C++
Доброго времени суток. Вот исходный код поиска максимального элемента массива: #include"stdafx.h" #include"stdio.h" ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
hofmn
Helter Skelter
61 / 61 / 1
Регистрация: 19.09.2012
Сообщений: 133
11.03.2013, 20:03 #2
Для этого лучше подойдет стек или очередь.
egor2116
339 / 370 / 42
Регистрация: 20.01.2013
Сообщений: 1,123
11.03.2013, 20:11 #3
Если я правильно понял
Как то так наверное
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
int* del(int * a,int b){
 
    for(int i=0;i<10;i++){//начиная с указанного индекса перемешаем значения
        if(i>=b && i<10){
            a[i]=a[i+1];
        }
    }
    int *c= new int[10-1];//новый массив с уменьшенным размером
    for(int i=0;i<10-1;i++){
        c[i]=a[i];//перезапись старого массива в новый
    }
 
    delete []a;
 
    return c;
}
 
int main(){//пример использования
    int * a=new int[10];//исходный массив где будем удалять элемент
    int b=3;//индекс удаляемого элемента
    for(int i=0;i<10;i++)//инициализация массива
        a[i]=i;
 
    int *d=new int[10-1];
    d=del(a,b);
 
    for(int i=0;i<9;i++)
        cout<<d[i]<<endl;
 
    delete []d;
    return 0;
}
The_bolT
70 / 70 / 1
Регистрация: 22.01.2013
Сообщений: 231
11.03.2013, 20:16 #4
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
#include <iostream>
 
using namespace std;
 
int main()
{
    int n;
    cout<<"Enter array size: ";
    cin>>n;
    int* mas = new int[n];
    int* tmp;
    for(int i=0;i<n;i++){
        mas[i] = rand()%10;
        cout<<mas[i]<<" ";
    }
    cout<<endl;
    int el;
    cout<<"Jakuj position elemed deleted: ";
    cin>>el;
    tmp = new int[n-1];
    for(int i=0,j=0;i<n;i++)
        if(el == i)
            i;
        else
            tmp[j++] = mas[i];
    delete [] mas;
    --n;
    mas = tmp;
    cout<<endl;
    for(int i=0;i<n;i++){
        cout<<mas[i]<<" ";
    }
    delete [] mas;
    system("pause");
    return 0;
 }
Croessmah
Модератор
Эксперт CЭксперт С++
13133 / 7396 / 828
Регистрация: 27.09.2012
Сообщений: 18,227
Записей в блоге: 3
Завершенные тесты: 1
11.03.2013, 20:18 #5
имхо, лучше сдвинуть влево на один элемент всё, что правее удаляемого элемента и уменьшить переменную "used"
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.03.2013, 20:18
Привет! Вот еще темы с ответами:

В упорядоченном массиве целых чисел a(i) (i=1….n) найти номер находящегося в массиве элемента C, используя ме - C++
помогите переделать код с обычной функцией в код с рекурсией #include &lt;iostream&gt; using namespace std; #include &lt;stdio.h&gt; #define...

Написать функцию вычисления линейного индекса элемента (его номера расположения в памяти) по заданым размерам и индексам элемента в N-мерном массиве - C++
Елементи N-вимірного масиву розміром n розміщуються в послідовних ділянках пам'яті так, що швидше за всіх змінюється їх останній індекс,...

В одномерном массиве, состоящем из вещественных элементов вычислить номер минимального элемента в массиве, сумму элементов массива - C++
В одномерном массиве, состоящем из 10 вещественных элементов вычислить: 1. Номер минимального элемента в массиве 2. Сумму...

Удаление элемента - C++
Уважаемые программисты!!! Помогите пожалуйста, курсовая работа. Никак не могу изменить удаление элемента... Мне нужно чтобы в программе...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
11.03.2013, 20:18
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru