簡體   English   中英

如何在一維數組的每個元素中都有多個 int 值?

[英]How to have multiple int values in every element in a one dimensional array?

我想用兩個 int 值填充一個一維數組。

當我在值周圍不帶括號運行代碼時,我只得到第一個 int,當我在值周圍用括號運行它時,我只得到第二個 int。

Output 應該像 x/y

感謝您的時間。

int main()
{
    cBruch cBruch[7];

    cBruch[0] = (3, 4);
    cBruch[1] = (24, -6);
    cBruch[2] = -5, -3;
    cBruch[3] = -14, 22;
    cBruch[4] = 21, 45;
    cBruch[5] = 7, -9;
    cBruch[6] = 2, 3;

    for (int i = 0; i < 7; i++)
    {
        cBruch[i].ausgabe();
    }

    return 0;
}

。H

class cBruch
{
private:
    int zaehler;
    int nenner;

    int ggt(int a, int b);
    void kuerzen();

public:
    cBruch(int zaehler_in = 0, int nenner_in = 1);
    ~cBruch();

    void ausgabe(); //output
};

.cpp

cBruch::cBruch(int zaehler_in, int nenner_in)
{
    zaehler = zaehler_in;
    nenner = nenner_in;

    cout << "Konstruktor Zaehler = " << zaehler << " Nenner = " << nenner << endl;
}

cBruch::~cBruch()
{
    cout << "Destruktor Zaehler = " << zaehler << " Nenner = " << nenner << endl;
}

void cBruch::ausgabe()
{
    cout << "Bruch: " << zaehler << "/" << nenner << "\tGleitkommazahl: "<< double(zaehler) / nenner << endl;
}

你應該像下面這樣初始化你的數組:

cBruch cBruch[] = {{3, 4},{24, -6},{-5, -3},{-14, 22},{21, 45},{7, -9},{2, 3}};

逗號運算符將始終評估雙方並返回右側。 它的 優先級也是所有運算符中最低的。

所以這:

cBruch[2] = -5, -3;

評估為:

(cBruch[2] = -5), -3;

和這個:

cBruch[0] = (3, 4);

將評估為:

cBruch[0] = 4;

您可能應該使用例如std::pair<int, int>的數組(或者更好的是std::array )。

顯然我看不懂...您需要 {} 而不是 ()。 – 聖黑貓

謝謝。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM