У меня проблемы с печатью матрицы с рядом Фибоначчи. Когда я запускаю программу, она печатает последовательность с целым числом и остальными нулями. Я хотел бы север, чтобы иметь возможность заключить.
Функция последовательной печати:
void printArray(int _A[], int _sz)
{
_A = new int(_sz);
cout << ">>> [ ";
for (int i = 0; i <= _sz; i++)
{
cout << _A[i] << " ";
}
cout << " ]\n";
}
Функция для вычисления последовательности:
int fib(int _limit, int *_A)
{
int count = 0;
int fib0 = 1;
int fib1 = 1;
int fib2 = 0;
while (fib2 < _limit)
{
fib2 = fib0 + fib1;
count++;
fib0 = fib1;
fib1 = fib2;
}
_A = new int(count);
for (int i = 0; i < count; i++)
{
cout << _A[i] << " ";
}
return count;
}
Главный:
int main()
{
int L;
int *A = nullptr;
cout << ">>> Press number: "
cin >> L;
if (L >= 0)
{
auto sz = fib(L, A);
cout << ">>> The Fibonacci series up to " << L << " is: \n";
printArray(A, sz); .
}
else
cout << ">>> Sorry, only positive integers accepted. Aborting...\n";
}
void printArray(int _A[], int _sz) { _A = new int(_sz);...}
Почему? Зачем перезаписывать параметр? - person churill   schedule 03.03.2020_A
указатель, возвращенный изnew
, а затем ожидаете увидеть значения при печати_A[i]
в цикле. Зачем? - person 463035818_is_not_a_number   schedule 03.03.2020std::vector
, вашим отладчиком и вашей резиновой уткой (получите один, если у вас его еще нет), все они помогут вам здесь - person 463035818_is_not_a_number   schedule 03.03.2020new int(_sz)
создать одно единственное новое целое число в куче со значением_sz
. может быть, вы хотели создать массив из_sz
целых чисел ->new int[_sz]
? - person churill   schedule 03.03.2020