×
Samples Blogs Make Payment About Us Reviews 4.9/5 Order Now

Create a Program to Implement Puzzle in C++ Assignment Solution

July 02, 2024
Dr. Olivia Mitchell
Dr. Olivia
🇬🇧 United Kingdom
C++
Dr. Olivia Mitchell holds a Ph.D. in Computer Science from the University of Cambridge. With over a decade of experience, she specializes in advanced file handling techniques in C++. Having completed over 800 assignments, Dr. Mitchell's expertise lies in designing efficient algorithms for file stream manipulation and error handling in file operations.
Key Topics
  • Instructions
    • Objective
  • Requirements and Specifications
Tip of the day
Use Python libraries effectively by importing only what you need. For example, if you're working with data, using libraries like pandas and numpy can save time and simplify complex tasks like data manipulation and analysis.
News
In 2024, the Biden-Harris Administration has expanded high-dosage tutoring and extended learning programs to boost academic achievement, helping programming students and others recover from pandemic-related setbacks. These initiatives are funded by federal resources aimed at improving math and literacy skills​

Instructions

Objective

Write a c++ assignment program to implement puzzle.

Requirements and Specifications

program-to-implement-puzzle-in-c
program-to-implement-puzzle-in-c 1

Source Code

#include #include #include using namespace std; string puzzleMaker(string str, int L) { int Len = L * 2; char word[Len]; int WordLen = str.length(); int count = 0; for (int i = 0; i < Len; i++) { if (count < WordLen and i % 2 != 0) { word[i] = str[count]; count++; } else { word[i] = 'a' + rand() % 26; } } return word; } void createNew() { int noOfWords = 0, highLen = 0; cout << "How many words you like to type?:"; cin >> noOfWords; string words[noOfWords]; string puzzles[noOfWords]; for (int i = 0; i < noOfWords; i++) { cout << "Enter word [" << i + 1 << "]:"; cin >> words[i]; int tempSize = words[i].length(); if (tempSize >= highLen) { highLen = tempSize; } } for (int i = 0; i < noOfWords; i++) { string tempWord = puzzleMaker(words[i], highLen); puzzles[i] = tempWord; } cout << "Do you want to save this?(Y/N):"; char ans; cin >> ans; if (ans == 'y' || ans == 'Y') { string fileName; cout << "Enter file name to save puzzle:"; cin >> fileName; fstream puzzleData; puzzleData.open(fileName + ".txt", ios::out); if (puzzleData.is_open()) { puzzleData << "Puzzles"; for (int i = 0; i < noOfWords; i++) { puzzleData << puzzles[i] << ""; } puzzleData << "Solutions"; for (int i = 0; i < noOfWords; i++) { puzzleData << words[i] << ""; } } } } void openOld(string fileName) { fstream puzzleData; puzzleData.open(fileName + ".txt", ios::in); if (puzzleData.is_open()) { string tempData; while (getline(puzzleData, tempData)) { cout << tempData << ""; } } } class Node { public: string data; Node *next; Node(string value) { data = value; next = NULL; } }; void insert(Node *&head, string value) { Node *n = new Node(value); if (head == NULL) { head = n; return; } Node *temp = head; while (temp->next != NULL) { temp = temp->next; } temp->next = n; } void solvePuzzle(string fileName) { Node *puzzles = NULL; Node *solutions = NULL; fstream puzzleData; puzzleData.open(fileName + ".txt", ios::in); if (puzzleData.is_open()) { string tempData; int val = 0; while (getline(puzzleData, tempData)) { if (val == 2) { insert(puzzles, tempData); } if (val == 1) { insert(solutions, tempData); } if (tempData == "Puzzles") { val = 2; } if (tempData == "Solutions") { val = 1; } } Node *temp1 = solutions; Node *temp2 = puzzles; while (temp1 != NULL) { while (temp2 != NULL) { if (temp1 == NULL) { temp2 = NULL; continue; } string selectedSolution = temp1->data; string selectedPuzzle = temp2->data; int lenPuzzle = strlen(selectedPuzzle.c_str()); int lenSolution = strlen(selectedSolution.c_str()); for (int i = 0; i < lenSolution; i++) { for (int j = 0; j < lenPuzzle; j++) { if (selectedSolution[i] == selectedPuzzle[j]) { cout << selectedSolution[i]; i = i + 1; } else { cout << " "; } } } cout << ""; temp2 = temp2->next; temp1 = temp1->next; } } } } int main() { bool start = true; while (start) { cout << "Choose an option:" << endl; cout << "(1) Create a new puzzle" << endl; cout << "(2) Open an existing puzzle" << endl; cout << "(3) Solve an existing puzzle" << endl; cout << "(4) Exit" << endl; int userInput = 0; cin >> userInput; string fileName1, fileName2; switch (userInput) { case 1: createNew(); break; case 2: cout << "Enter file name to read old puzzle:"; cin >> fileName1; openOld(fileName1); break; case 3: cout << "Enter file name to read old puzzle:"; cin >> fileName2; solvePuzzle(fileName2); break; case 4: start = false; break; default: cout << "Please enter a valid choice 1-4!" << endl; break; } } }

Similar Samples

Explore our curated collection of programming homework samples at ProgrammingHomeworkHelp.com. From Java and Python to Machine Learning and Data Structures, our samples exemplify our expertise in solving diverse programming challenges. Each example is designed to illustrate best practices and provide insights into tackling assignments effectively. Dive into our samples to see how we can assist you in mastering programming concepts and achieving academic excellence