Я хочу написать программу чисел Фибоначчи, используя динамический массив в функции. Если я хочу инициализировать массив в функции, где я должен удалить этот массив? Вот код:Числа Фибоначчи - динамический массив
#include <iostream>
using namespace std;
int* fibo(int);
int main()
{
int *fibonacci, n;
cout << "Enter how many fibonacci numbers you want to print: ";
cin >> n;
fibonacci = fibo(n);
for (int i = 0; i<n; i++)
cout << fibonacci[i] << " ";
//for (int i = 0; i < n; i++)
//delete w_fibo[i];
//delete[] w_fibo;
return 0;
}
int* fibo(int n)
{
int* w_fibo = new int[n];
if (n >= 0)
w_fibo[0] = 1;
if (n >= 1)
w_fibo[1] = 1;
for (int i = 1; i < n; i++)
w_fibo[i + 1] = w_fibo[i] + w_fibo[i - 1];
return w_fibo;
}
Использование класса vector, проще. –
Вы можете сделать так: 'delete [] fibonacci;' в конце вашей основной функции перед возвратом 0; –
@VikasVerma Эта причина ошибки http://pl.tinypic.com/view.php?pic=2r5zukz&s=8 – Kulis