Pagini recente » Cod sursa (job #2418667) | Cod sursa (job #636115) | Cod sursa (job #3288696) | Cod sursa (job #2318156) | Cod sursa (job #724119)
Cod sursa(job #724119)
#include <fstream>
bool v [17];
inline void print (std::ostream &output, bool *limit)
{
for (bool *ptr(v + 1) ; ptr < limit ; ++ptr)
if (*ptr)
output << ptr - v << ' ';
output << '\n';
}
int main (void)
{
std::ifstream input("submultimi.in");
unsigned short n;
input >> n;
input.close();
bool * limit(v + n + 1);
std::ofstream output("submultimi.out");
for (unsigned short i(1) ; i <= n ; ++i)
output << i << '\n';
bool *ptr(limit - 1),*start(limit - 1),*loop;
do
{
*ptr = true;
do
{
loop = start;
while (loop > ptr)
{
*loop = true;
print(output,limit);
*loop = false;
--loop;
}
*start = true;
--start;
}
while (start > ptr);
do
{
*start = false;
++start;
}
while (start < limit);
--start;
*ptr = false;
--ptr;
}
while (ptr > v);
output.close();
return 0;
}