Salut, am ajuns la scoala la subprograme si am incercat sa fac un sub program care ridica numarul "n" la puterea "p", doar ca nu stiu unde gresesc ca-mi iese cu totul altceva. Mentionez ca abia am invatat sa fac subprograme si nu stiu multe despre ele.
#include<iostream>
using namespace std;
int putere(int p,int n)
{
int i;
for(i=0;i<=p;i++)
n*=n;
return n;
}
int main()
{
int n,p;
cout<<"n=";
cin>>n;
cout<<"p=";
cin>>p;
cout<<putere(p,n);
return 0;
}
Nu e bine pentru ca la inmultire tu folosesti acelasi n care se modifica deja la pasul anterior, de exemplu: pentru n = 2 la urmatorul pas obtii n = 4, apoi n = 16, apoi n = 256... si ai grija la forul din subprogram pentru ca el face p+1 pasi si practic tie ti-ar trebui p pasi. Corect ar veni cam asa:
int putere(int p,int n)
{
int i, val = 1;
for(i=1;i<=p;i++)
val*=n;
return val;
}
Bafta