πŸ’» Dev & CSC++ Programming

C++ Programming Ch.4 Exercise 13 Solution

Problem: 영문자둜 κ΅¬μ„±λœ ν…μŠ€νŠΈμ— λŒ€ν•΄ 각 μ•ŒνŒŒλ²³μ— ν•΄λ‹Ήν•˜λŠ” λ¬Έμžκ°€ λͺ‡ κ°œμΈμ§€ 좜λ ₯ν•˜λŠ” νžˆμŠ€ν† κ·Έλž¨ 클래슀 Histogram을 λ§Œλ“€μ–΄λ³΄μž. λŒ€λ¬ΈμžλŠ” λͺ¨λ‘ μ†Œλ¬Έμžλ‘œ λ³€ν™˜ν•˜μ—¬ μ²˜λ¦¬ν•œλ‹€. Histogram 클래슀λ₯Ό ν™œμš©ν•˜λŠ” 사둀와 Execution ResultλŠ” λ‹€μŒκ³Ό κ°™λ‹€. 1 2 3 4 5 Histogram elvisHisto("Wise men say, only fools rush in But I can't help, "); elvisHisto.put("falling in love with you"); elvisHisto.putc('-'); elvisHisto.put("Elvis Presley"); elvisHisto.print(); Execution Result: Objective & Hints: 클래슀 λ§Œλ“€κΈ° μ’…ν•© μ‘μš© Code: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 #include #include using namespace std; class Histogram { string sent; public: Histogram(string sent); void put(string sent); void putc(char c); void print(); }; Histogram::Histogram(string text){ sent = text; cout << sent << endl; } void Histogram::put(string text){ sent += text; cout << text; } void Histogram::putc(char c){ sent += c; cout << c; } void Histogram::print(){ int alpha[26] = { 0 }; int num = 0; for (int i = 0; i < sent.length(); i++) { if(isalpha(sent[i])){ char c = tolower(sent[i]); alpha[c - 'a']++; num++; } } cout << endl << endl; cout << "총 μ•ŒνŒŒλ²³ 수 " << num; cout << endl << endl; for (int i = 0; i < 26; ++i) { char c = 'a' + i; cout << c << " (" << alpha[i] << ")\t: "; for (int j = 0; j < alpha[i]; ++j) { cout << "*"; } cout << endl; } } int main() { Histogram elvisHisto("Wise men say, only fools rush in But I can't help, "); elvisHisto.put("falling in love with you"); elvisHisto.putc('-'); elvisHisto.put("Elvis Presley"); elvisHisto.print(); } Explanation: ...

March 4, 2020 Β· 2 min Β· Sobamemil