Хранить дважды в массиве C ++, используя Xcode - PullRequest
0 голосов
/ 22 октября 2018

Я пытаюсь сохранить объявление двойного массива в C ++ на Xcode.

double array[size];

Но когда я печатаю значения,

for(int i=0; i<size; i++){
    cout<<array[i]<<"  ";
}

Это целые числа печати. ​​

void display(int grade[][size_of_qz]) {

    double stAve[size_of_st];
    computeStAve(grade, stAve);

    cout << "Student      Ave         Quizes\n";
    for (int row = 0; row < size_of_st; row++) {
        cout << row + 1 << "        " << stAve[row] << "          ";
        for (int col = 0; col < size_of_qz; col++) {
            cout << grade[row][col] << "  ";
        }
        cout << endl;
    }
}

void computeStAve(int grade[][size_of_qz], double stAve[]) {
    int temp = 0;
    for (int row = 0; row < size_of_st; row++) {
        for (int col = 0; col < size_of_qz; col++) {
            temp += grade[row][col];
        }
        stAve[row] = temp / size_of_qz;
        temp = 0;
    }
}

Ответы [ 2 ]

0 голосов
/ 22 октября 2018

Похоже, что эта строка является причиной ваших проблем:

stAve[row]=temp/size_of_qz;

Это то же самое, что: double = (int / int).Ваше подразделение превращается в Int.Вам нужно сделать что-то вроде:

stAve[row]=(double)temp/size_of_qz;
0 голосов
/ 22 октября 2018

Если вы ожидаете напечатать определенное количество цифр, начните свою основную функцию с

    std::cout << std::fixed << std::setprecision(2); 

, а библиотека для включения будет iomanip .

...