Am pus numarul 11 sa il ridice la patrat si imi da raspunsul 120? De ce? Cu unele numere merge, cu altele nu?
C++
#include
#include
using namespace std;
int main()
{long int n;
cout<<"n=";
cin>>n;
if (n!=0)
{
n=pow(n,2); //daca aici pun n*=n merge programul, dar nu inteleg dc nu merge cu pow
}
cout<
return 0;
}
Răspunsuri la întrebare
Răspuns de
1
Salut. In primul rand functia pow() returneaza un tip de data si anume double, deci ar trebuii sa declari variabila n ca fiind double (double n sau long double, depinde cu ce numere lucrezi). O alta idee este ca poti direct sa afisezi pow() fara a ii se mai atribuii unei variabile. Ar trebuii sa ii pui un cast in fata de exemplu: cout<<(long long)(instructiune);. In al doilea rand mai este o problema cu functia pow(), aceasta cand primeste o valoare mare, de exemplu : 10000 el va afisa 99999999. De asemenea putem evita aceasta problema prin aceasta solutie: round(pow(n ,2)); Aceasta va rotunjii valoarea si va afisa numarul corect. Ti-am lasat solutile de mai sus ca sa stii cum sa-ti rezolvi problemele, in caz ca apar. De asemnea ti-am lasat si un exemplu care iti respecta ideea ta, mai jos. Iti urez succes in continuare!
Anexe:
AlexP:
pentru ce ai folosit biblioteca conio.h? pana acum am lucrat doar cu isotream si putin math.h... mai sunt si alte biblioteci importante pentru clasa a 9-a?
Alte întrebări interesante
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă