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

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

Войти
Регистрация
Восстановить пароль
 
baykonurr
11 / 11 / 1
Регистрация: 19.02.2013
Сообщений: 88
#1

Процедура удаления из списка всех вхождений заданного элемента - C++

15.10.2013, 10:55. Просмотров 445. Ответов 6
Метки нет (Все метки)

Написать программу, процедуру удаления из заданного списка, все вхождения элемента с заданным значением.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.10.2013, 10:55     Процедура удаления из списка всех вхождений заданного элемента
Посмотрите здесь:

C++ Разработать процедуру удаления из списка первого отрицательного элемента
C++ Удаления элемента из односвязного списка
C++ Написать процедуру удаления из заданного списка, все вхождения элемента с заданным значением
C++ Удаление из заданного списка все вхождения элемента с заданным значением информационной части
Формирования массивов Y и Z, определения максимального по модулю элемента, удаления элемента C++
C++ Функция подсчитывающая число вхождений заданного элемента
Написать функцию удаления элемента из списка C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
15.10.2013, 10:56     Процедура удаления из списка всех вхождений заданного элемента #2
baykonurr, а какой заданный список?
baykonurr
11 / 11 / 1
Регистрация: 19.02.2013
Сообщений: 88
15.10.2013, 18:39  [ТС]     Процедура удаления из списка всех вхождений заданного элемента #3
произвольный
kamre
126 / 130 / 4
Регистрация: 25.12.2011
Сообщений: 443
15.10.2013, 20:40     Процедура удаления из списка всех вхождений заданного элемента #4
Цитата Сообщение от baykonurr Посмотреть сообщение
произвольный
Ну как-то так можно:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <list>
#include <algorithm>
#include <iostream>
 
using namespace std;
 
template <typename List, typename T>
void remove_from_list(List & l, const T& t)
{
    l.erase(remove(begin(l), end(l), t), end(l));
}
 
int main() {
    list<int> l = { 1, 2, 3, 4, 5, 4, 3, 2, 1 };
    remove_from_list(l, 3);
    for (int i : l)
        cout << i << ", ";
}
1, 2, 4, 5, 4, 2, 1,
Croessmah
Модератор
Эксперт CЭксперт С++
12728 / 7188 / 802
Регистрация: 27.09.2012
Сообщений: 17,729
Записей в блоге: 2
Завершенные тесты: 1
15.10.2013, 20:47     Процедура удаления из списка всех вхождений заданного элемента #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <list>
 
int main () {
  std::list<int> lst {40,70,60,50,40,70,30,70,80};
  lst.remove(70);
  std::cout << "list contains:";
  for (std::list<int>::iterator it=lst.begin(); it!=lst.end(); ++it)
    std::cout << ' ' << *it;
  std::cout << std :: endl ;
 
  return 0;
}
baykonurr
11 / 11 / 1
Регистрация: 19.02.2013
Сообщений: 88
16.10.2013, 19:52  [ТС]     Процедура удаления из списка всех вхождений заданного элемента #6
Цитата Сообщение от kamre Посмотреть сообщение
Ну как-то так можно:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <list>
#include <algorithm>
#include <iostream>
 
using namespace std;
 
template <typename List, typename T>
void remove_from_list(List & l, const T& t)
{
    l.erase(remove(begin(l), end(l), t), end(l));
}
 
int main() {
    list<int> l = { 1, 2, 3, 4, 5, 4, 3, 2, 1 };
    remove_from_list(l, 3);
    for (int i : l)
        cout << i << ", ";
}
не компилируется

Добавлено через 24 секунды
Цитата Сообщение от Croessmah Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <list>
 
int main () {
  std::list<int> lst {40,70,60,50,40,70,30,70,80};
  lst.remove(70);
  std::cout << "list contains:";
  for (std::list<int>::iterator it=lst.begin(); it!=lst.end(); ++it)
    std::cout << ' ' << *it;
  std::cout << std :: endl ;
 
  return 0;
}
не компилируется
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.10.2013, 20:51     Процедура удаления из списка всех вхождений заданного элемента
Еще ссылки по теме:

C++ Найти в матрице количество вхождений заданного символа
Удаление из односвязного списка заданного элемента C++
Получить из заданного массива новый путем удаления из него всех повторяющихся элементов C++
Реализация ф-ции удаления элемента из списка C++
C++ Не работает функция удаления элемента из списка

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

Или воспользуйтесь поиском по форуму:
kamre
126 / 130 / 4
Регистрация: 25.12.2011
Сообщений: 443
16.10.2013, 20:51     Процедура удаления из списка всех вхождений заданного элемента #7
Цитата Сообщение от baykonurr Посмотреть сообщение
не компилируется
Компилятор на помоечку! Пора уже переходить на что-то актуальное.
Yandex
Объявления
16.10.2013, 20:51     Процедура удаления из списка всех вхождений заданного элемента
Ответ Создать тему
Опции темы

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