Jin.のプログラム備忘録

適当な自分の備忘録

真剣衰弱[制作時間:52分31秒]

読込のところで入力して、誰が何枚持っているかを
表示させるプログラムです。
ほぼほぼ未完成です。

 #include <stdio.h>
int main(void){
    
    int height;    // 縦列
    int width;     // 横列
    int num;       // 参加人数
    // 読込///////////////////////
    scanf("%d",&height);
    scanf("%d",&width);
    scanf("%d",&num);
    //////////////////////////////
    
    int cardtile[height][width];    // カードの多次元配列
    // 初期化//////////////////////////////
    for(int i = 1; i <= height; i++)
    {
        for(int j = 1; j <= width; j++)
        {
            cardtile[i][j] = 0;
        }
    }
    ///////////////////////////////////////
    
    // カードの読込////////////////////////
    for(int i = 1; i <= height; i++)
    {
        for(int j = 1; j <= width; j++)
        {
            scanf("%d",&cardtile[i][j]);
        }
    }
    ///////////////////////////////////////
    
    int gameLog;   // ログの回数
    // 読込////////////////////
    scanf("%d",&gameLog);
    ///////////////////////////
    
    int player[num];                // プレイヤーの得点
    // 初期化////////////////////
    for(int i = 0; i < num; i++)
    {
        player[i] = 0;
    }
    /////////////////////////////
    int row, row2;                  // 行
    int column, column2;            // 列
    int turn = 0;                   // ターン
    
    // ゲーム基礎・得点配分/////////////////
    for(int i = 0; i < gameLog; i++)
    {
        // 読込///////////////
        scanf("%d",&column);
        scanf("%d",&row);
        scanf("%d",&column2);
        scanf("%d",&row2);
        //////////////////////
        
        // カードが同じだったら2点
        if(cardtile[column][row] == cardtile[column2][row2])
        {
            player[turn] += 2;
        }
        //違ったら次の人に変更
        else
        {
            if(turn == num - 1)
            {
                turn = 0;
            }
            else
            {
                turn += 1;
            }
        }
        
    }
    ////////////////////////////////////////
    
    // 結果発表///////////////////////
    for(int i = 0; i < num; i++)
    {
        printf("%d\n",player[i]);
    }
    //////////////////////////////////
}