Как иметь несколько значений int в каждом элементе в одномерном массиве? - PullRequest
0 голосов
/ 05 ноября 2019

Я хочу заполнить один одномерный массив двумя значениями типа int.

Когда я запускаю свой код без скобок вокруг значений, я получаю только первое значение, а когда я запускаю его с квадратными скобками вокруг значений, я получаю только второе целое число.

Вывод должен быть как х / у

спасибо за ваше время.

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;
}

Ответы [ 2 ]

4 голосов
/ 05 ноября 2019

Вы должны инициализировать ваш массив следующим образом:

cBruch cBruch[] = {{3, 4},{24, -6},{-5, -3},{-14, 22},{21, 45},{7, -9},{2, 3}};
1 голос
/ 05 ноября 2019

Оператор с запятыми всегда оценивает обе стороны и возвращает правую часть. Он также имеет самый низкий приоритет всех операторов.

Итак, это:

cBruch[2] = -5, -3;

оценивается как:

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

И это:

cBruch[0] = (3, 4);

Оцените:

cBruch[0] = 4;

Возможно, вам следует использовать массив (или еще лучше std::array), например std::pair<int, int>.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...