[C++][東方哈佛電機系] 資概作業3_解霍夫曼碼(Huffman Code)




#include <iostream>
using namespace std;

int main()
{
    int v1, v2, v3, v4, v5, v6;

    cout << "輸入第 1 碼:";
    cin >> v1;
 
    // v1: 60-0
    if (v1 == 0){
       cout << "輸入第 2 碼:";
       cin >> v2;
       // v2: 23-0
       if (v2 == 0)
          cout << "對應的符號: S1(13)" << endl;
       // v2: 23-1
       else{
            cout << "輸入第 3 碼:";
            cin >> v3;
            // v3: 10-0
            if (v3 == 0)
               cout << "對應的符號: S3(5)" << endl;
            // v3: 10-1
            else{
                 cout << "輸入第 4 碼:";
                 cin >> v4;
                 // v4: 5-0
                 if (v4 ==0)
                    cout << "對應的符號: S4(3)" << endl;
                 // v4: 5-1
                 else
                    cout << "對應的符號: S5(2)" << endl;
            }
       }    
    }
    // v1: 60-1
    else{
       cout << "輸入第 2 碼:";
       cin >> v2;
       // v2: 37-0
       if (v2 == 0)
          cout << "對應的符號: S0(22)" << endl;
       // v2: 37-1
       else{
            cout << "輸入第 3 碼:";
            cin >> v3;
            // v3: 15-0
            if (v3 == 0)
               cout << "對應的符號: S2(7)" << endl;
            // v3: 15-1
            else{
                 cout << "輸入第 4 碼:";
                 cin >> v4;
                 // v4: 8-0
                 if (v4 ==0){
                    cout << "輸入第 5 碼:";
                    cin >> v5;
                    // v5: 4-0
                    if (v5 ==0)
                       cout << "對應的符號: S6(2)" << endl;
                    // v5: 4-1
                    else{
                         cout << "輸入第 6 碼:";
                         cin >> v6;
                         // v6: 2-0
                         if (v6 == 0)
                            cout << "對應的符號: S7(1)" << endl;
                         // v6: 2-1
                         else
                            cout << "對應的符號: S8(1)" << endl;
                    }
                 }
                 // v4: 8-1
                 else{
                      cout << "輸入第 5 碼:";
                      cin >> v5;
                      // v5: 4-0
                      if (v5 == 0){
                         cout << "輸入第 6 碼:";
                         cin >> v6;
                         // v6: 2-0
                         if (v6 == 0)
                            cout << "對應的符號: S9(1)" << endl;
                         // v6: 2-1
                         else
                            cout << "對應的符號: S10(1)" << endl;
                      }
                      else{
                      // v5: 4-1
                         cout << "輸入第 6 碼:";
                         cin >> v6;
                         // v6: 2-0
                         if (v6 == 0)
                            cout << "對應的符號: S11(1)" << endl;
                         // v6: 2-1
                         else
                            cout << "對應的符號: S12(1)" << endl;
                      }
                 }    
            }
       }
    }

    system("pause");
    return 0;
}