Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.01.2013, 16:46   #1
kn0w
 
Регистрация: 06.01.2013
Сообщений: 7
По умолчанию Удаление элементов вектора

Здравствуйте !!! Помогите пожалуйста, чтобы "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");
    }
kn0w вне форума Ответить с цитированием
Старый 07.01.2013, 11:19   #2
kn0w
 
Регистрация: 06.01.2013
Сообщений: 7
По умолчанию

Ни кто не знает ?
kn0w вне форума Ответить с цитированием
Старый 07.01.2013, 13:54   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
void Filter (int n)
{
 for(vect  *i=first;i->next;i=i->next){
  if(i->next->length==n){
   vect* c=i->next
   i->next=c->next;
   delete c;
   break;
  }
 }
}
Подходит?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 07.01.2013, 14:02   #4
kn0w
 
Регистрация: 06.01.2013
Сообщений: 7
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
[CODE]
Подходит?
Огромное спасибо!!! Очень выручил
kn0w вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Си.Сумма элементов вектора istavzev Помощь студентам 0 10.05.2012 22:01
Найти сумму элементов вектора Katrina24 Помощь студентам 5 16.04.2012 19:31
Сортировка элементов вектора Blad47 Общие вопросы C/C++ 10 29.11.2010 18:42
суммирование элементов вектора saidmir Общие вопросы C/C++ 7 22.08.2010 20:23
Сортировка элементов вектора m9yt Общие вопросы C/C++ 1 28.04.2010 18:13