Возникли проблемы с указателями в C ++ - PullRequest
0 голосов
/ 26 февраля 2019

Я пытаюсь получить доступ к массиву изнутри функции, но получаю «Ошибка C2065 'i': необъявленный идентификатор».Я знаю, что я делаю ошибку с указателем.Мне удалось извлечь информацию из массива в функции, ниже той, с которой у меня проблемы, поэтому я не уверен, почему я не могу сделать то же самое здесь.Спасибо за ваше время.

#include <iostream>
#include <cmath>
using namespace std;

double mean(int size, int* numbers); 
double sDeviation(int numOfScores, int average, int* scores);
int histogram(int numOfScores, int* scores); //<<<This is what I'm having trouble with

int main()
{
int count = 0;
int scores[100];

while (true)
{
    int scoreToBeEntered;
    cout << "Please enter a score: ";
    cin >> scoreToBeEntered;

    if(scoreToBeEntered == NULL)
        cout << "No value entered" << endl;
    else if(scoreToBeEntered != -1)
        scores[count++] = scoreToBeEntered;
    else
        break;
}

for(int i = 9; i >= 0; i--)
    cout << i << "|" << endl;

cout << "SD: " << sDeviation(count, mean(count, scores), scores) << endl;

system("pause");
return 0;
}

int histogram(int numOfScores, int* scores)//this is where the issue starts
{
int* bins = new int[10];
for(int i = 0; i < numOfScores; i++);
    if(scores[i] >= 90) //<<<<This is the undeclared "i"
    {
        bins[9]++;
    }
}


double sDeviation(int numOfScores, int average, int* scores)
{
double deviation = 0;

for (int i = 0; i < numOfScores; i++)
    deviation += pow(scores[i] - average, 2);

return sqrt(deviation / numOfScores);
}

double mean(int size, int* numbers)
{
double sum = 0;

for (int i = 0; i < size; i++)
    sum += numbers[i];

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