回答編集履歴
3
修正すべき点を追記
    
        answer	
    CHANGED
    
    | @@ -20,4 +20,28 @@ | |
| 20 20 | 
             
               }
         | 
| 21 21 | 
             
            }
         | 
| 22 22 | 
             
            ...
         | 
| 23 | 
            +
            ```
         | 
| 24 | 
            +
            ---
         | 
| 25 | 
            +
            **追記しました:**
         | 
| 26 | 
            +
             | 
| 27 | 
            +
            OKのコードについても初期化の部分で配列の範囲外`cards[3][14]`にアクセスしているので、最悪、実行時エラーが起きてもおかしくないです。正しくは以下のように修正すべきでしょう。
         | 
| 28 | 
            +
             | 
| 29 | 
            +
            ```C++
         | 
| 30 | 
            +
            bool cards[4][14];
         | 
| 31 | 
            +
            char a;
         | 
| 32 | 
            +
            ...
         | 
| 33 | 
            +
            // 初期化の部分
         | 
| 34 | 
            +
            for(int i = 0; i < 4; i++){
         | 
| 35 | 
            +
                // 「足りないカードを出力する部分」のやり方に沿ったループ(cards[i][0]は使わない)
         | 
| 36 | 
            +
                // 元のコード for(int j = 0; j < 15; j++){
         | 
| 37 | 
            +
                for(int j = 1; j <= 13; j++){
         | 
| 38 | 
            +
                    cards[i][j] = false;
         | 
| 39 | 
            +
                }
         | 
| 40 | 
            +
            }
         | 
| 41 | 
            +
             | 
| 42 | 
            +
            // 足りないカードを出力する部分
         | 
| 43 | 
            +
            for(int i = 0; i < 4; i++){
         | 
| 44 | 
            +
                for(int j = 1; j<= 13; j++){
         | 
| 45 | 
            +
             | 
| 46 | 
            +
            ...
         | 
| 23 47 | 
             
            ```
         | 
2
再度修正
    
        answer	
    CHANGED
    
    | @@ -7,7 +7,7 @@ | |
| 7 7 | 
             
            >    bool cards[3][13];
         | 
| 8 8 | 
             
            ```
         | 
| 9 9 |  | 
| 10 | 
            -
            4種類の絵柄とそれぞれ13枚のカードが入り得る配列になっているか否か、です。 | 
| 10 | 
            +
            4種類の絵柄とそれぞれ13枚のカードが入り得る配列になっているか否か、です。
         | 
| 11 11 |  | 
| 12 12 | 
             
            NGのコードの方では最初の`false`での初期化部分で`bool cards[3][14]`に書き込みをし、領域外を破壊することとなり、初期化以降でも`cards[3][...]`相当の部分にアクセスする可能性があるので、実行時にエラー(ランタイムエラー)になってもおかしくないです。
         | 
| 13 13 |  | 
1
変?なコード部分の記述に合わせて修正
    
        answer	
    CHANGED
    
    | @@ -7,9 +7,9 @@ | |
| 7 7 | 
             
            >    bool cards[3][13];
         | 
| 8 8 | 
             
            ```
         | 
| 9 9 |  | 
| 10 | 
            -
            4種類の絵柄とそれぞれ13枚のカード | 
| 10 | 
            +
            4種類の絵柄とそれぞれ13枚のカードが入り得る配列になっているか否か、です。(OKの方は1つの絵柄につき1枚余分な気がしますが、大勢に影響は無いです)
         | 
| 11 11 |  | 
| 12 | 
            -
            NGのコードの方では最初の`false`での初期化部分 | 
| 12 | 
            +
            NGのコードの方では最初の`false`での初期化部分で`bool cards[3][14]`に書き込みをし、領域外を破壊することとなり、初期化以降でも`cards[3][...]`相当の部分にアクセスする可能性があるので、実行時にエラー(ランタイムエラー)になってもおかしくないです。
         | 
| 13 13 |  | 
| 14 14 | 
             
            ```C++
         | 
| 15 15 | 
             
            ...
         | 
