[C++] Ciąg Fibonacciego, tablice, problem z if

0

Witam, mam taki problem, że program nie działa tak jak powinien, to jest obojętnie jaką liczbę wpiszę wynik wynosi 1
Usuwając if, pozostawiając samego fora działa nie wypisując 2 pierwszych liczb co jest raczej logiczne... Potrafi ktoś pomóc?

 
#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    int n, i;
    int* tab;
    cout << "Podaj dowolna liczbe naturalna: ";
    cin >>n;
    i=n;
    tab = new int[n];
    if(i=0)
    {
    tab[0]=0;
    cout << tab[0];
    }
    if(i=1)
    {
    tab[0]=0;
    tab[1]=1;
    cout << tab[1];
    }
    if(i>1)
    {
           for(int n=2; n<i; n++)
           {
                   tab[0]=0;
                   tab[1]=1;
                   tab[n]=tab[n-1]+tab[n-2];
                   cout <<tab[n] << " ";
           }
    }         
    cout << "\n";     
    system("PAUSE");
    return EXIT_SUCCESS;
}
0

Porównanie to == a nie =

1 użytkowników online, w tym zalogowanych: 0, gości: 1