QScatterSeries Количество элементов - PullRequest
0 голосов
/ 28 мая 2020

У меня есть qscatterser ie, данные которого я получил из текстового файла. Я пытаюсь вычислить среднее значение ряда в функции. Вот пример моей функции:

void GraphDialog::eliminate_extremum(QScatterSeries *serie){
    qreal sum = 0;
    for(int i=0;i<serie->count();i++){
        sum+=serie->at(i).x();
    }
    qreal mean = sum/serie->count();
    qDebug()<<serie->count();

    ....

А вот как я вызываю функцию:

QScatterSeries *series1 = new QScatterSeries();
serieManupulation("C\\Users....",series1);
eliminate_extremum(series1);

Когда я запускаю код, ser ie -> count () функция должна возвращать количество элементов, но она возвращает 45415 вместо количества элементов, равного 312. Есть ли способ исправить это или есть ли способ узнать количество элементов?

Вот как Заполняю серию из текстового файла:

void GraphDialog::serieManupulation(const char *fileName, QScatterSeries *serie)
{
    int number = serie->count();
    char array[315];
    int loop=0;
    int intarray[315];
    ifstream myfile(fileName);
    if(myfile.is_open()){
        for(loop=0;loop<sizeof(array);loop++){
            myfile.getline(array,sizeof(array));
            intarray[loop] = atoi(array);
        }
        for(int j=0;j<loop;j++){
            int same =1;
            for(int k=j+1;k<loop;k++){
                if(intarray[j]==intarray[k]){
                    serie->append(intarray[j],same);
                    same++;
                }
                else{
                    serie->append(intarray[j],1);
                }
            }
        }
        myfile.close();
    }
...