Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Удаление элементов вектора 
:(
    Опции темы
kn0w
Дата 6.1.2013, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 6.1.2013

Репутация: нет
Всего: нет



Здравствуйте !!! Большую часть задания сделал, нужно еще кое что дополнить, все никак не соображу. Вообщем мне нужно, чтобы "Filter" удалял элементы вектора равные переданному значению т.е мне нужна еще одна функция , которая будет удалять например вектор "20". Помогите пожалуйста.

Код
#include <iostream>
#include <conio.h>
 
using namespace std;
 
struct vect
{
    int length ;
    struct vect *next;
};
 
vect *first = NULL;
vect *follow = NULL;
vect *node, *node2;
void Add()
{
    vect *temp;
    temp = new vect;
    cout << "\nEnter length for addition ";
    cin >> temp->length;
 
    if(!first)
    {
        first = temp;
        temp->next = NULL;
 
    }
     
    follow = first;
    while (follow->next)
        follow = follow ->next;
    follow->next = temp;
    temp->next=NULL;
 
}
 
void Print()
{
        
        follow = first;
        while (follow)
        {
            cout << '\n' << follow->length;
            follow = follow->next;
        }
        cout << "\nPress any key...";
        while (!kbhit());
    
}
 
void sort()
{
    
    for( node = first; node; node = node->next )
        for( node2 = first; node2; node2 = node2->next )
            if( node->length > node2->length ){ 
                int i = node->length;
                node->length = node2->length;
                node2->length = i;
            }
        cout << "\nSorting is finished...";
        while (!kbhit());
    
 
}
void Filter ()
{
       
}
 
 
void main()
{
    system("color F0");
    int key = 0;
    
    while (key != 27)
    {
        cout << "\n1.  Add to vector"; //добавить вектор
        cout << "\n2.  To execute sorting"; // выполнение сортировки
        cout << "\n3.  Print the sorted vectors";   //вывод на экран отсорти-рованных векторов
        cout << "\n4.  Filter";//Удаление вектора
        cout << "\n    Esc Exit"; //выход из программы
        cout << "\n? ";
        key = getche();
 
                 switch (key)
        {
            case '1':
                Add();
                break;
            case '2':
                sort();
                break;
            case '3':
                Print();
                break;
            case '4':
                Filter();
                break;
        }
    }
    system("PAUSE");
    }


Модератор: Не забываем пользоваться кнопочкой "Код"
PM MAIL   Вверх
borisbn
Дата 9.1.2013, 00:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 21
Всего: 135



Код

void Filter ( int valueToDelete )
{
    while ( first && first->length == valueToDelete )
    {
        vect * temp = first;
        first = first->next;
        delete temp;
    }
    if ( first == NULL )
    {
        return;
    }
    vect * prev = first; 
    follow = first->next;
    while ( follow )
    {
        if ( follow->length == valueToDelete )
        {
            prev->next = follow->next;
            delete follow;
            follow = prev;
        }
        prev = follow;
        follow = follow->next;
    }
}

http://liveworkspace.org/code/1U6KVQ$4


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1043 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.