Hello. I'm working on decompressing text in run length encoding in C++. I'm almost finished with the code but I'm confused about how to fix the whitespace. Program requirements: Do not forget to close the file after you are done with it. You must use a while loop to handle the loop reading information from the file. You must use a for loop to handle the count/char output. Use the sample runs to ensure that all output is spelled/spaced correctly.   Hint: You will need to make use of .get(ch) to "throw out" the irrelavent spaces. With stdin you would have used std::cin.get(ch), however with file objects remember you will need to use file_obj.get(ch) .

EBK JAVA PROGRAMMING
9th Edition
ISBN:9781337671385
Author:FARRELL
Publisher:FARRELL
Chapter13: File Input And Output
Section: Chapter Questions
Problem 7PE
icon
Related questions
Question

Hello. I'm working on decompressing text in run length encoding in C++. I'm almost finished with the code but I'm confused about how to fix the whitespace.

Program requirements:

  1. Do not forget to close the file after you are done with it.
  2. You must use a while loop to handle the loop reading information from the file.
  3. You must use a for loop to handle the count/char output.
  4. Use the sample runs to ensure that all output is spelled/spaced correctly.

 

Hint:

You will need to make use of .get(ch) to "throw out" the irrelavent spaces. With stdin you would have used std::cin.get(ch), however with file objects remember you will need to use file_obj.get(ch) .

3 #include <fstream>
0 #include <iostream>
7
#include <string>
8
9 int main() {
10
11
12
13
29959922222222
14
15
10
17
18
19
20
21
23
24
20
27
28
29
30
31
32
33
34 ✓
35
30
37
38
39
40 ✓
41
42
43
44
45
40
47
48
49
50
51
52
53
34
55
350
}
char ch;
int count;
std::string filename;
// let's create an fstream variable
std::ifstream input file;
input_file >> ch;
input_file >> count;
input_file >> filename;
// now read file name from user
std::cout << "Enter filename to decompress: ";
std::cin>> filename;
// open file to read data
input_file.open(filename);
// if file doesn't open
if (!input_file) {
std::cout << "File" << filename <<< does not exist!\n";
}
// if file opens
else {
}
// read data until it reaches end of file
while (input_file.get(ch)) {
// input characters and numbers from file
input file >> count;
}
input_file.get(ch);
if (ch == '\n') {
}
// skip whitespaces
while (input_file.get(ch) && ch == ¹) {
}
// print character, count # of times
for (int i = 0; i < count; i++) {
std::cout<<ch;
}
// close the file
input_file.close();
return 0;
Transcribed Image Text:3 #include <fstream> 0 #include <iostream> 7 #include <string> 8 9 int main() { 10 11 12 13 29959922222222 14 15 10 17 18 19 20 21 23 24 20 27 28 29 30 31 32 33 34 ✓ 35 30 37 38 39 40 ✓ 41 42 43 44 45 40 47 48 49 50 51 52 53 34 55 350 } char ch; int count; std::string filename; // let's create an fstream variable std::ifstream input file; input_file >> ch; input_file >> count; input_file >> filename; // now read file name from user std::cout << "Enter filename to decompress: "; std::cin>> filename; // open file to read data input_file.open(filename); // if file doesn't open if (!input_file) { std::cout << "File" << filename <<< does not exist!\n"; } // if file opens else { } // read data until it reaches end of file while (input_file.get(ch)) { // input characters and numbers from file input file >> count; } input_file.get(ch); if (ch == '\n') { } // skip whitespaces while (input_file.get(ch) && ch == ¹) { } // print character, count # of times for (int i = 0; i < count; i++) { std::cout<<ch; } // close the file input_file.close(); return 0;
Sample Run 3 (simplestring.txtas input)
Enter filename to decompress: simplestring.dat
RRRRRRRRRRRRRGGGGGGGGGRRRRRRRRRRBBRRRRRRRRRRRGGGRGRGGGGBBBBBBRRRRRRRR
Sample Run 4 (cat.txt as input)
Enter filename to decompress: cat.txt
/// //_.-' .-/";
///_.-'
|/ (_..-' // (<
/ // // // `-. ‚_)' // /
Sample Run 5 (horse.txt as input)
Enter filename to decompress:
)
-/
horse.txt
|\ /\
__--/
---/ \/
\,,/_
(_
LA
/\
D
||
/___\
/ I
(D) 1
\_ / -1
/ \_ 0 0)
/
\__/
.
/ // /
'( ) ) // //
; `` / ///
/// / //
.:
I
||
|_/
Transcribed Image Text:Sample Run 3 (simplestring.txtas input) Enter filename to decompress: simplestring.dat RRRRRRRRRRRRRGGGGGGGGGRRRRRRRRRRBBRRRRRRRRRRRGGGRGRGGGGBBBBBBRRRRRRRR Sample Run 4 (cat.txt as input) Enter filename to decompress: cat.txt /// //_.-' .-/"; ///_.-' |/ (_..-' // (< / // // // `-. ‚_)' // / Sample Run 5 (horse.txt as input) Enter filename to decompress: ) -/ horse.txt |\ /\ __--/ ---/ \/ \,,/_ (_ LA /\ D || /___\ / I (D) 1 \_ / -1 / \_ 0 0) / \__/ . / // / '( ) ) // // ; `` / /// /// / // .: I || |_/
Expert Solution
Step 1

Introduction

Decompress:

To decompress is to carry out the opposite of compression. By encoding data in a way that uses fewer bits than the original data, compression is the act of lowering the size of a file or other set of data. The process of undoing this encoding and obtaining the original data from the compressed form is known as decompression.

The size of files is frequently reduced through compression in order to facilitate storage or network transmission, and decompression is required in order to recover the original contents. File types that are frequently compressed include zip archives, JPEG pictures, and MP3 music files.

steps

Step by step

Solved in 3 steps

Blurred answer
Knowledge Booster
File Input and Output Operations
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
EBK JAVA PROGRAMMING
EBK JAVA PROGRAMMING
Computer Science
ISBN:
9781337671385
Author:
FARRELL
Publisher:
CENGAGE LEARNING - CONSIGNMENT
Programming Logic & Design Comprehensive
Programming Logic & Design Comprehensive
Computer Science
ISBN:
9781337669405
Author:
FARRELL
Publisher:
Cengage