矩阵足球比赛

时间:2020-04-21 13:39:34

标签: c++ multidimensional-array

我正在尝试用C ++进行足球比赛,用户输入球队的名称(8个球队),然后每个球队必须与另一队比赛1次。首先,我不知道如何读取球队名称,我的意思是我尝试使用.getline或仅使用char数组的cin,但随后我需要将这些球队放入矩阵中,并在最后一场比赛之后我的程序应打印桌子。因此,第一个问题是:如何读取名称并基本上使程序认为它们是数字,或者仅与名称一起使用,而无需使用int?然后,用户输入每个游戏的结果,但这是困难的部分。引入所有结果后,矩阵循环旋转,然后存储在变量中的结果(您将在代码胜利/损失中看到)将覆盖自身,因此最后,我无法打印正确的表。这就是第二个问题:当它们旋转时,如何使它们存储在正确的“团队”中?抱歉,如果我没有很好地解释它是如何工作的,希望您理解它。干杯!


 // FOOTBALL TOURNAMENT

    int map[2][4];
    for (int i = 0; i < 2; i++) {
        for (int j = 0; j < 4; j++) {
            cout << "map[" << i << "][" << j << "]= ";
            cin >> map[i][j];
        }
    }
    cout << "The map looks like this:" << endl;
    for (int i = 0; i < 2; i++) {
        for (int j = 0; j < 4; j++) {
            cout << map[i][j] << " ";
        }
        cout << endl;
    }

            map[0][0] = 1;
            int temp = 0, temp2 = 0, temp3 = 0, temp4 = 0, temp5 = 0, temp6 = 0;
            int a, b, c, d, e, f, g, h, round = 0;
            int victory_m00(0), losses_m10(0), victory_m10(0), losses_m00(0), victory_m01(0), losses_m11(0), victory_m11(0), losses_m01(0);
            int victory_m02(0), losses_m12(0), victory_m12(0), losses_m02(0), victory_m03(0), losses_m13(0), victory_m13(0), losses_m03(0);
            do
            {
                // Insert result for every game

                cout << "Enter the result of the first game between " << map[0][0] << " vs. " << map[1][0] << endl;
                cin >> a >> b;
                if (a > b) {
                    victory_m00++;
                    losses_m10++;
                }
                else if (a < b)
                {
                    victory_m10++;
                    losses_m00++;
                }
                cout << "Enter the result of the first game between: " << map[0][1] << " vs. " << map[1][1] << endl;
                cin >> c >> d;
                if (c > d) {
                    victory_m01++;
                    losses_m11++;
                }
                else if (c < d)
                {
                    victory_m11++;
                    losses_m01++;
                }

                cout << "Enter the result of the first game between: " << map[0][2] << " vs. " << map[1][2] << endl;
                cin >> e >> f;
                if (e > f) {
                    victory_m02++;
                    losses_m12++;
                }
                else if (e < f)
                {
                    victory_m12++;
                    losses_m02++;
                }

                cout << "Enter the result of the first game between: " << map[0][3] << " vs. " << map[1][3] << endl;
                cin >> g >> h;
                if (g > h) {
                    victory_m03++;
                    losses_m13++;
                }
                else if (g < h)
                {
                    victory_m13++;
                    losses_m03++;
                }
                round++;


                // Map switching

                temp = map[1][0];
                map[1][0] = map[0][1];
                temp2 = map[1][1];
                map[1][1] = temp;
                temp3 = map[1][2];
                map[1][2] = temp2;
                temp4 = map[1][3];
                map[1][3] = temp3;
                temp5 = map[0][3];
                map[0][3] = temp4;
                temp6 = map[0][2];
                map[0][2] = temp5;
                map[0][1] = temp6;

                // Table calculating and printing  ~ also this has to be outside the loop (but at first i wanted to print the table after every 'round'

                cout << "This is how the table looks like after the " << round << " round: \n";
                cout << map[0][0] << " has: " << victory_m00 << " victory(-ies) and " << losses_m00 << " loss-es!\n";
                cout << map[0][1] << " has: " << victory_m01 << " victory(-ies) and " << losses_m01 << " loss-es!\n";
                cout << map[0][2] << " has: " << victory_m02 << " victory(-ies) and " << losses_m02 << " loss-es!\n";
                cout << map[0][3] << " has: " << victory_m03 << " victory(-ies) and " << losses_m03 << " loss-es!\n";
                cout << map[1][0] << " has: " << victory_m10 << " victory(-ies) and " << losses_m10 << " loss-es!\n";
                cout << map[1][1] << " has: " << victory_m11 << " victory(-ies) and " << losses_m11 << " loss-es!\n";
                cout << map[1][2] << " has: " << victory_m12 << " victory(-ies) and " << losses_m12 << " loss-es!\n";
                cout << map[1][3] << " has: " << victory_m13 << " victory(-ies) and " << losses_m13 << " loss-es!\n";
                cout << endl;
                cout << endl;


            } while (map[0][1] != 2);

            ```

0 个答案:

没有答案