for (int i=1;i<=10;i++) //dla i od 1 do 10 za każdym krokiem zwiększaj i - to akurat jest dobrze
{
int a; //zadeklaruj zmienną całkowitą a - nową w każdym kroku pętli
a=1; //przypisz jej wartość 1 - czyli a w każdym kroku pętli będzie wynosiło 1 - o to chodzi? Poza tym deklaracje i przypisanie można zrobić w jednej linii.
double fx; //zadeklaruj zmienną zmiennoprzecinkową fx - nową w każdym kroku pętli
fx=pow (2, a); //przypisanie do fx wyniku działania, które nie działa, a nawet gdyby działało, to zawsze dawałoby w wyniku 2 (bo 2^1 = 2, a a w każdym kroku wynosi 1)
cout<
a++ //inkrementacja zmiennej a (i przy okazji brak średnika). Szkoda tyko, że ta zmienna zaraz zginie, a w następnym kroku pętli zostanie stworzona na nowo
}
A jak to powinno wyglądać?
for (int i = 0; i < 10; i++)
cout << pow(2.0, i) << endl;
Nic nie jest źle. Dla sporych liczb wyniki wypisuje w notacji wykładniczej (mam nadzieję, że wiesz, co to jest). Oczywiście możesz to zmienić.
Na przykład:
cout.precision(0); //zero miejsc po przecinku, bo i po co one
for (int i = 1; i <= 100; ++i)
cout << fixed << pow(2.0,i) << endl; //fixed - notacja zwykła
Właściwie to prawie to samo, ale masz rację, rzeczywiście to się nazywa dokładnie notacja naukowa. Na swoją obronę mam tylko fakt, że autor artykułu na Wikipedii twierdzi, że inna nazwa to postać wykładnicza. Dzięki za zwrócenie uwagi.