Using the freopen function you can read/write from a file, like you are reading from the standard input/output. freeopen first tries to close any file already associated with the stream given as third parameter and disassociates it.
C++
The Intelligent Smoker
A person smokes cigarettes and leaves the lower portion (around 1/5) of it unburnt. He then combines the 5 residues of those cigarettes to create a new one for smoking.
If the person had initially 93 cigarettes, how many cigarettes did he actually smoked?
He will smoke 116 cigarettes.
Advanced STL
Sample code to explain some advanced STL concepts.
// STL.cpp
// Sample code to explain some advanced STL concepts. This is a shameless
// copy of online materials in order to create a simple example program to
// explain the basics of STL.
//
// Topics covered:
// ostream_iterator, copy, deque, insert_iterator, front_inserter,
// back_inserter, accumulate, count, count_if, find, find_if, generate,
// generate_n, fill, fill_n, transform, negate, mismatch, search, equal,
// for_each, swap, sort, merge, binary_search, includes, ptr_fun, set_union,
Singleton Design Pattern
Programming Puzzle: Search Engine
The urban legend goes that if you go to the Google homepage and search for "Google", the universe will implode. We have a secret to share... It is true! Please don't try it, or tell anyone. All right, maybe not. We are just kidding. The same is not true for a universe far far away. In that universe, if you search on any search engine for that search engine's name, the universe does implode! To combat this, people came up with an interesting solution. All queries are pooled together. They are passed to a central system that decides which query goes to which search engine.
Programming Puzzle: Train Timetable
A train line has two stations on it, A and B. Trains can take trips from A to B or from B to A multiple times during a day. When a train arrives at B from A (or arrives at A from B), it needs a certain amount of time before it is ready to take the return journey - this is the turnaround time. For example, if a train arrives at
12:00 and the turnaround time is 0 minutes, it can leave immediately, at 12:00.
How to iterate vector in a loop and delete items from it?
The crude way of deleting the items in a vector is:
typedef std::vector<std::string>::iterator string_vector_iterator;
string_vector_iterator iter = m_vPaths.begin();
while (iter != m_vPaths.end())
{
if(::DeleteFile(iter->c_str()))
{
How to disable warning in g++ in Linux?
warning: deprecated conversion from string constant to ‘char*’
How to reverse the order of the words in a sentence?
{
using namespace std;
string result;
string::const_reverse_iterator iterWordStart, iterWordEnd;
bool bBufferMode = true;
iterWordStart = iterWordEnd = strInput.rbegin();
for(; iterWordStart != strInput.rend(); ++iterWordStart) {
if(!(isalpha(*iterWordStart) && bBufferMode)) {
reverse_copy(iterWordEnd, iterWordStart, inserter(result, result.end()));