02.03.2025, 20:52
Code:
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
#include <numeric>
void generateCombinations(std::vector<int>& numbers, int start, int depth, int totalDepth, std::vector<int>& currentCombination, std::ofstream& outFile)
{
if (depth == totalDepth)
{
// Wenn die aktuelle Kombination die gewünschte Tiefe erreicht hat, schreibe sie in die Datei
for (int num : currentCombination)
{
outFile << num << " ";
}
outFile << std::endl;
return;
}
for (int i = start; i < numbers.size(); ++i)
{
currentCombination.push_back(numbers[i]);
generateCombinations(numbers, i + 1, depth + 1, totalDepth, currentCombination, outFile);
currentCombination.pop_back(); // Backtracking
}
}
void generateEurojackpotCombinations(const std::string& filename)
{
std::ofstream outFile(filename);
if (!outFile)
{
std::cerr << "Fehler beim Öffnen der Datei!" << std::endl;
return;
}
// Eurojackpot Zahlen (1 bis 50)
std::vector<int> eurojackpotNumbers(50);
std::iota(eurojackpotNumbers.begin(), eurojackpotNumbers.end(), 1);
// Eurozahlen (1 bis 12)
std::vector<int> euroNumbers(12);
std::iota(euroNumbers.begin(), euroNumbers.end(), 1);
// Kombinationen für Eurojackpot Zahlen (5 aus 50)
std::vector<int> currentCombination;
generateCombinations(eurojackpotNumbers, 0, 0, 5, currentCombination, outFile);
// Kombinationen für Eurozahlen (2 aus 12)
currentCombination.clear();
generateCombinations(euroNumbers, 0, 0, 2, currentCombination, outFile);
outFile.close();
}
int main()
{
generateEurojackpotCombinations("eurojackpot_combinations.txt");
std::cout << "Kombinationen wurden in die Datei geschrieben." << std::endl;
return 0;
}
Spiele in einer Annahmestelle!
