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) .

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
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
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education