Предмет: Информатика,
автор: Fil71718181881717
Програма С++ : Создайте односвязный список элементов типа CHAR. Удалите из списка все символы, не являющиеся буквой латинского алфавита.
Ответы
Автор ответа:
0
#include <iostream>
#include <list>
#include <algorithm>
#include <iterator>
#include <cctype>
int main()
{
std::list<char> lt{'5', 'a', 'c','g', '7', 't', '!'};
std::cout << std::endl;
std::copy(lt.begin(), lt.end(), std::ostream_iterator<char>(std::cout, " "));
lt.remove_if([](char& var1)
{
return !(std::tolower(var1, std::locale()) >= 'a' && std::tolower(var1, std::locale()) <= 'z');
});
std::cout << std::endl;
std::copy(lt.begin(), lt.end(), std::ostream_iterator<char>(std::cout, " "));
}
Приложения:
Browze:
Можно сделать, дабы избежать лишнего конструирования объекта std::locale(), std::locale name; и в лямбда-функции вместо конструктора поставить name
Похожие вопросы
Предмет: Математика,
автор: kultaevazamby
Предмет: Право,
автор: rubanov2204
Предмет: Русский язык,
автор: Антон228435228
Предмет: Литература,
автор: ipashin200
Предмет: Математика,
автор: arinavansov