Дан текстовый файл, содержащий целые числа. Удалить из него все четные числа.
Удалить все четные числа из строки можно следующим образом, как показано в ниже приведенной демонстрационной программе.
#include <iostream>
#include <sstream>
#include <algorithm>
#include <iterator>
#include <cstring>
int main()
{
char s[] = "0 1 2 3 4 5 6 7 8 9";
std::cout << s << std::endl;
std::istringstream is( s );
std::ostringstream os;
std::copy_if( std::istream_iterator<int>( is ),
std::istream_iterator<int>(),
std::ostream_iterator<int>( os, " " ),
[]( int x ) { return x % 2; } );
std::strcpy( s, os.str().c_str() );
std::cout << s << std::endl;
return 0;
}
Вывод на консоль будет следующим
0 1 2 3 4 5 6 7 8 9
1 3 5 7 9
src.src
0 1 2 3 4 5 6 7 8 9
log.log
1 3 5 7 9
файл для [f]lex
%option noyywrap main
%%
[0-9]+ { int N = atoi(yytext); if (N % 2 == 1) printf(yytext); }
Makefile
log.log: src.src ./exe.exe
./exe.exe < $< > $@ && tail $@
C = lex.yy.c
./exe.exe: $(C)
$(CXX) -o $@ $(C)
lex.yy.c: lpp.lpp
flex $<
Связка flex/bison (lex/yacc) -- богатейший хинт для ввода любых текстовых данных, по сравнению с ним ни один язык программирования (кроме разве что perlа) вообще не содержит средств ввода данных 8-).
Здравствуйте! Подскажите пожалуйста, как перебрать или удалить все под элементы выделенного элемента tree viewКод проверки на выделенность...
В средеNET есть замечательный асинхронный паттерн TAP, есть ли нечто подобное на C++ (не CLI)?