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

0 голосов
63 просмотров

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


Информатика (14 баллов) | 63 просмотров
Дан 1 ответ
0 голосов

#include

#include

#include

#include

#include

int main()

{

   std::list lt{'5', 'a', 'c','g', '7', 't', '!'};

   std::cout << std::endl;</p>

   std::copy(lt.begin(), lt.end(), std::ostream_iterator(std::cout, " "));


   lt.remove_if([](char& var1)

   {

       return !(std::tolower(var1, std::locale()) >= 'a' && std::tolower(var1, std::locale()) <= 'z');</p>

   });

   std::cout << std::endl;</p>

   std::copy(lt.begin(), lt.end(), std::ostream_iterator(std::cout, " "));

}


image
(4.0k баллов)
0

Можно сделать, дабы избежать лишнего конструирования объекта std::locale(), std::locale name; и в лямбда-функции вместо конструктора поставить name