include include include using namespace std string jumbleWor
#include <iostream>
 #include <cstdlib>
 #include <fstream>
 using namespace std;
 string jumbleWord(string word)
 {
 int count = rand() % 5 ;
 if(word.length() > 3)
 for(int i = 0; i < count; i++)
 {
 int one = (rand() % (word.length()-1)) + 1;
 int two = (rand() % (word.length()-1)) + 1;
 char temp = word.at(one);
 word.at(one) = word.at(two);
 word.at(two) = temp;
 }
 return word;
 }
 int main()
 {
 ifstream fin;
 ofstream fout;
 string fileName, word;
 cout<<\"Enter the name of the input file: \";
 cin>>fileName;
 fin.open(fileName);
 cout<<\"Enter the name of the output file: \";
 cin>>fileName;
 fout.open(fileName);
 while(!fin.eof())
 {
 fin>>word;
 fout<<jumbleWord(word)<<\" \";
 }
 fin.close();
 fout.close();
 }
Solution
Please follow the code and comments for description :
CODE :
#include <iostream> // required header files
 #include <cstdlib>
 #include <fstream>
using namespace std;
string jumbleWord(string word) // function to junble the letters
 {
    int count = rand() % 5 ; // get the random count
    if(word.length() > 3) // check for the length
    for(int i = 0; i < count; i++)
    {
        int one = (rand() % (word.length()-1)) + 1; // get two random numbers
        int two = (rand() % (word.length()-1)) + 1;
        char temp = word.at(one); // swap the letters
        word.at(one) = word.at(two);
        word.at(two) = temp;
    }
    return word; // return the letters
 }
int main() // driver method
 {
    ifstream fin; // local variables
    ofstream fout;
    string fileName, word;
    cout<<\"Enter the name of the input file: \"; // prompt for the user
    cin>>fileName; // get the data
    fin.open(fileName); // opoen the file
    cout<<\"Enter the name of the output file: \"; // message
    cin>>fileName;
    fout.open(fileName); // open the file name
    while(!fin.eof()) // check for the end of file
    {
        fin>>word; // read the word
        fout<<jumbleWord(word)<<\" \"; // call the function
    }
    fin.close(); // close the files
    fout.close();
 }
 OUTPUT :
main
 Enter the name of the input file: input.txt
 Enter the name of the output file: out.txt
input.txt :
I couldn\'t believe that I could actually understand what I was reading. Using the incredible power of the human brain, according to research at Cambridge University, it doesn\'t matter in what order the letters in a word are, the only important thing is that the first and last letter be in the right place. The rest can be a total, mess and you can read it without a problem. This is because the human mind does not read every letter by itself, but the word as a whole. Amazing, huh? Yeah and I always thought spelling was important! See if your friends can read this too!
 out.txt :
I cou\'dnlt beivele that I could altualcy utderdnans wath I was rgndiae. Ugisn the iicrednble power of the human brain, agdornicc to resraech at Cimarbdeg Uveni,sytir it dtesno\' matter in wtha odrer the lettsre in a word are, the oyln impartont tihng is taht the first and lats lertet be in the rtghi place. The rets can be a tl,aot mess and you can reda it whtotui a problem. Tshi is busecae the hnmau mind dsoe not read eevry letter by iestlf, but the word as a whole. Amngaiz, hhu? Yhea and I awlasy thohugt sienlplg was important! See if yoru frisnde can read tihs to!o too!
Description :
The code successfully ran using the c++11 and therea re no compile time or run time errors. If still the error persists please do comment the error so as to look after it for the reason.
Hope this is helpful.


