Предмет: Информатика, автор: Fil71718181881717

Програма С++ : Создайте односвязный список элементов типа CHAR. Удалите из списка все символы, не являющиеся буквой латинского алфавита.

Ответы

Автор ответа: Browze
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
Похожие вопросы
Предмет: Математика, автор: arinavansov