Salut! Am incercat sa creez un program care sa adune patratele numerelor naturale consecutive pana la un numar n, dar nu imi da rezultatul corect. Imi poate spune cineva unde am gresit?
Acesta este codul sursa:
#include<iostream> using namespace std; int n,s=0,i=1; int main() { cout<<"n="; cin>>n; for(i=i*i; i<=n*n; i++) s=s+i; cout<<"suma este: "<<s<<endl; return 0; }
Multumesc.
Parerea mea e ca ai gresit in for pentru ca iti face initializarea o singura data, nu cum ai incercat tu sa il initializezi pe i de n ori … deci iti stabileste valoare de la care pleaca contorul si apoi il mareste cu cate o unitate, calculandu-ti suma primelor n numere naturale. O varianta corecta ar fi:
using namespace std;
int n,s=0,i=1;
int main()
{ cout<<„n=”;
cin>>n;
for(i=1; i<=n; i++)
s=s+i*i;
cout<<„suma este: „<<s<<endl;
return 0;
}
Am inteles. Multumesc.