๐Ÿ’ป Dev & CSC++ Programming

C++ Programming Ch.2 Exercise 16 Solution

Problem: ์˜๋ฌธ ํ…์ŠคํŠธ๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ ์•ŒํŒŒ๋ฒณ ํžˆ์Šคํ† ๊ทธ๋žจ์„ ๊ทธ๋ฆฌ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๋ผ. ๋Œ€๋ฌธ์ž๋Š” ๋ชจ๋‘ ์†Œ๋ฌธ์ž๋กœ ์ง‘๊ณ„ํ•˜๋ฉฐ, ํ…์ŠคํŠธ ์ž…๋ ฅ์˜ ๋์€ ';' ๋ฌธ์ž๋กœ ํ•œ๋‹ค. Objective & Hints: ๋ฌธ์ž์—ด ์ฝ๊ธฐ, C++ ํ”„๋กœ๊ทธ๋žจ ์ข…ํ•ฉ ์‘์šฉ Input File: ์ž…๋ ฅํ•  ํ…์ŠคํŠธ ํŒŒ์ผ์„ ์ฒจ๋ถ€ํ•˜์˜€์Šต๋‹ˆ๋‹ค. [2-16.txt 0.00MB](https://blog.kakaocdn.net/dna/EsAHK/btqChFfPBnw/AAAAAAAAAAAAAAAAAAAAAOhcwRebixdRiSrFB2r5c8Z4mBZDeCt4ibUUEp2n5aCw/2-16.txt?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1788188399&allow_ip=&allow_referer=&signature=PEoHUr5ktP9MyFLvskuQj0jS1Q8%3D&attach=1&knm=tfile.txt) Execution Result: 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 #include #include using namespace std; int main() { int tot=0; // ์ด ์•ŒํŒŒ๋ฒณ ๊ฐœ์ˆ˜ int alpha[27]={0}; // ๊ฐ๊ฐ์˜ ์•ŒํŒŒ๋ฒณ์„ ๋‚˜ํƒ€๋ƒ„ char text[10000]; // text๋ฅผ ์ €์žฅํ•  ๋ฐฐ์—ด cout << "์˜๋ฌธ ํ…์ŠคํŠธ๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”. ํžˆ์Šคํ† ๊ทธ๋žจ์„ ๊ทธ๋ฆฝ๋‹ˆ๋‹ค.\nํ…์ŠคํŠธ์˜ ๋์€ ; ์ž…๋‹ˆ๋‹ค. 10000๊ฐœ๊นŒ์ง€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.\n"; cin.getline(text,10000,';'); // ์ตœ๋Œ€ 10,000๊ฐœ์˜ ์˜๋ฌธ ํ…์ŠคํŠธ๋ฅผ ';'์ „๊นŒ์ง€ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค for (int i = 0; i<strlen(text); i++) { // text[0]๋ถ€ํ„ฐ text์˜ ๋๊นŒ์ง€ if (isalpha(text[i])) { // text[i]๊ฐ€ ์•ŒํŒŒ๋ฒณ์ด๋ฉด ์ฐธ if(text[i]<91) text[i] = tolower(text[i]); // text[i]๊ฐ€ ๋Œ€๋ฌธ์ž์ด๋ฉด ์†Œ๋ฌธ์ž๋กœ ๋ณ€๊ฒฝ tot++; alpha[text[i] - 97]++; // ๊ฐ๊ฐ์˜ ์•ŒํŒŒ๋ฒณ์ด ๋ช‡๊ฐœ์ธ์ง€ ์นด์šดํŠธ } } cout << "์ด ์•ŒํŒŒ๋ฒณ ์ˆ˜ " << tot << endl << endl; for (int i = 0; i < 26; ++i) { // ์•ŒํŒŒ๋ฒณ์˜ ์†Œ๋ฌธ์ž ์ด ๊ฐœ์ˆ˜๋Š” 26๊ฐœ (a~z) cout << (char)(i+'a') << "(" << alpha[i] << ")"; // a๋ถ€ํ„ฐ z๊นŒ์ง€ ์ถœ๋ ฅ ํ›„ ๊ฐ (์•ŒํŒŒ๋ฒณ์˜ ๊ฐœ์ˆ˜) ์ถœ๋ ฅ cout << "\t: "; // ํฌ๋งท์„ ์ถœ๋ ฅํ•˜๊ธฐ ์œ„ํ•ด ํƒญ๊ณผ ":" ์ถœ๋ ฅ for (int j = 1; j <= alpha[i]; j++) // ๊ฐ ์•ŒํŒŒ๋ฒณ์˜ ๊ฐœ์ˆ˜๋งŒํผ "*" ์ถœ๋ ฅ cout << "*"; cout << endl; } } Explanation: ...

February 28, 2020 ยท 2 min ยท Sobamemil