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

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

Войти
Регистрация
Восстановить пароль
 
Staxxx
Сообщений: n/a
#1

Метод удаления по ключу - C++

08.01.2009, 19:01. Просмотров 855. Ответов 5
Метки нет (Все метки)

ребята помогите пожалуста! нужно что то исправить..

ни как не работает метод удаления по ключу..
у меня условие следующее: нужно удалить все марки новее выбраного возраста.(его вводим с клавиатуры)
мои марки содержат 4 параметра. (цвет, номинал, страну, возраст) а нужно удалить по одному параметру всю марку разом(то есть весь массив).

в менюхе я ввожу число ниже которого все марки удаляться

Код:

C++
1
2
3
4
5
void CMENU :: del ()
{int x;
    cout << "Vvedite vozrast marki :" << endl;
    cin >> x;
}

а вот сам метод:

Код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void CConteiner :: del(int x)
{
int i = 0;
if (m_massive [i] ->GetYear() < (x))// GetYear это получение года из m_massive [] (массив)
{
    int b=0;
    delete m_massive [b] ;    
    while ( b < m_N - b )
    {
        m_massive [b] = m_massive [ b + 1 ] ;
        b++ ;
    }
    m_N-- ;
}
i++;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.01.2009, 19:01     Метод удаления по ключу
Посмотрите здесь:

Поиск по ключу C++
C++ итерационный метод удаления бинарного дерева
Метод для прохода по вектору сложного класса определения и удаления не нужных элементов C++
Метод, возвращающий данные по имеющемуся ключу массива MAP C++
C++ Cделать проверку по ключу
C++ Удаления в Map по ключу
Активация программы по ключу C++
Поиск по ключу C++
Зашифровать текст по ключу C++
C++ шифрование по ключу матрицы 3х4
Двухсвязный список в классе, метод удаления C++
C++ Как правильно реализовать метод добавления и удаления объектов в хранилище без перегрузки?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vourhey
Почетный модератор
6473 / 2248 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
08.01.2009, 19:15     Метод удаления по ключу #2
delete [] array; or delete [size] array;
manfeese
129 / 128 / 16
Регистрация: 04.01.2009
Сообщений: 415
08.01.2009, 20:18     Метод удаления по ключу #3
Цитата Сообщение от Staxxx Посмотреть сообщение
марки содержат 4 параметра
используй структуры
Mecid
678 / 227 / 4
Регистрация: 15.10.2007
Сообщений: 1,247
09.01.2009, 00:16     Метод удаления по ключу #4
Используй вектор вместо массива а там есть метод erase он удалит ненужный элемент
Staxxx
Сообщений: n/a
15.01.2009, 00:55     Метод удаления по ключу #5
спасибо за советы!!!

Добавлено через 1 минуту 58 секунд
я поменял if на while, но цикл не стал работать как цикл, а всё равно работает как if удаляя не все массивы а только один массив.
ISergey
Maniac
Эксперт С++
1346 / 879 / 51
Регистрация: 02.01.2009
Сообщений: 2,643
Записей в блоге: 1
15.01.2009, 01:53     Метод удаления по ключу #6
Цитата Сообщение от Staxxx Посмотреть сообщение
я поменял if на while, но цикл не стал работать как цикл, а всё равно работает как if удаляя не все массивы а только один массив.
может так
C++
1
2
3
4
5
6
for(int i = 0; i < len_massive; i++)
   if (m_massive [i] -> GetYear() < (x))
   {   
    //........
    --len_massive;
    }
Yandex
Объявления
15.01.2009, 01:53     Метод удаления по ключу
Ответ Создать тему
Опции темы

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