RosettaCodeData/Task/FizzBuzz/C++/fizzbuzz-4.cpp

26 lines
554 B
C++
Raw Permalink Normal View History

2013-04-10 16:57:12 -07:00
#include <iostream>
2015-02-20 00:35:01 -05:00
#include <algorithm>
#include <vector>
2013-04-10 16:57:12 -07:00
2015-02-20 00:35:01 -05:00
int main()
2013-04-10 16:57:12 -07:00
{
2015-02-20 00:35:01 -05:00
std::vector<int> range(100);
std::iota(range.begin(), range.end(), 1);
2013-04-10 16:57:12 -07:00
2015-02-20 00:35:01 -05:00
std::vector<std::string> values;
values.resize(range.size());
2013-04-10 16:57:12 -07:00
2015-02-20 00:35:01 -05:00
auto fizzbuzz = [](int i) -> std::string {
if ((i%15) == 0) return "FizzBuzz";
if ((i%5) == 0) return "Buzz";
if ((i%3) == 0) return "Fizz";
return std::to_string(i);
};
2013-04-10 16:57:12 -07:00
2015-02-20 00:35:01 -05:00
std::transform(range.begin(), range.end(), values.begin(), fizzbuzz);
2013-04-10 16:57:12 -07:00
2015-02-20 00:35:01 -05:00
for (auto& str: values) std::cout << str << std::endl;
2013-04-10 16:57:12 -07:00
2013-06-05 21:47:54 +00:00
return 0;
2013-04-10 16:57:12 -07:00
}