В этом упражнении мы должны использовать текстовый файл, содержащий 20 номеров. Таким образом, максимальное количество обоих массивов должно быть равным 20. Используя функцию, мы должны заполнить массив. Каждое последующее положение в массиве будет рассчитанным значением на основе исходного начального значения и индекса в массиве следующим образом:
1) Добавить 45 в начальное значение
2) если положение массива равномерно делится на 3 :
А) вычисленное значение времен начального значения позиция массива
3) в противном случае:
А) вычисленное значением является начальным значение делится на позиции массива
4) Хранить рассчитанное значение в следующей позиции массива
5) Увеличьте количество значений в этом массивеОпределенные пользователем функции и массивы
По какой-то причине я получаю сообщение о том, что я не могу преобразовать аргумент 2 из 'int [20] в' int '?
void FillArray(ifstream& Ex5Numbers, int calculatedArray[],
int& numOfCalculatedValues, const int MAX)
{
int index;
int startValue;
//Read the starting value
Ex5Numbers >> startValue;
//Filling the array through the input file
for (index = 0; index <= MAX; index++)
{
//Store the start value into the array
calculatedArray[index] = startValue;
//Add 45 to the start value
startValue += 45;
//Calculate the next number in the array
if (numOfCalculatedValues/3 == 0)
{
startValue = index * startValue;
}
else
{
startValue = startValue/index;
}
//Increment the tag field for the array
numOfCalculatedValues++;
}
Может быть, вы могли бы искать StackOverflow для «C++ проходящей функции массива», и посмотреть, что другие люди выложили? –
Как вы отметили это как C++, почему бы вам не использовать контейнеры стандартной библиотеки C++? ('std :: vector', чтобы называть его), а не подверженные ошибкам массивы C-стиля? Это будет намного проще. – kebs
Измените свой вопрос и добавьте код, который вызывает вашу функцию. –