1. ## For/Next Loops...adding 10 numbers...

I have an assignment in programming class, that degrades what I know and can do. I have to make a program using For/Next loops and it has to ask for a name, display the name, then ask for 10 numbers, add them, and get the average, displaying both sum and average. My program works...but it doesnt add the numbers. Dont worry about the average part, not there yet. For/Next loops are killing me....way behind my times. :P Here is my code:

Code:
```#include<iostream>
#include<string>
using namespace std;

int main(){
string name;
double num[10],sum;
int i;
cin>>name;
for(i=0,i<10;i++;){
cin>>num[i];
sum=i+num[10];
cout<<"The sum of your numbers equals "<<sum<<endl;
}
return(0);
}```
I know my problem lies in the for statement...but i just cant seem to understand it. Thank you.

2. Look closely at what you're doing here.
Code:
`sum=i+num[10];`
what you are doing there is over writing the value of sum every time with the value of num[10]+i, and since num[10] exceeds the bounds of your array it contains garbage.

you declared an array of 10 doubles, that means you have:
num[0] through num[9]. there is no num[10].

also you are just incrimenting the garbage by adding the value of i.

what you want is something like this.

Code:
```//initialize sum to 0
sum=0;

for(i=0,i<10;i++;)
{
cin>>num[i];

//this is the correction
sum+=num[i];

cout<<"The sum of your numbers equals "<<sum<<endl;
}```
what i'm doing above is making sure that i start off with 0 as the value of sum. then for each iteration of the loop i load the user's input into the current indice in the num array. next i add whatever the value of num[current indice] is to sum. so in it would be something like this:

***pseudo code***
1st time through the loop
sum now equals 0
user inputs 5 into num[0]
sum equals 0 plus 5

2nd time through the loop
sum now equals 5
user inputs 3 into num[1]
sum equals 5 plus 3

3rd time through the loop
sum now equals 8
user inputs 2 into num[2]
sum equals 8 plus 2

etc. etc. etc.

hope this helps.

the average part is really simple also.

3. Originally posted by IanelarAzure
Well, I fully understand that part....but now the loop itself isnt running.

Code:
```#include<iostream>
#include<string>
using namespace std;

int main(){
string name;
double sum,num[10];
int i;
cin>>name;
sum=0;
for(i=0,i<10;i++;){
cin>>num[i];
sum+=num[i];
cout<<"The sum of your numbers equals "<<sum<<endl;
}
return(0);
}```
I even tried making "i=0" before the loop, didnt work. Im sure this will work, but cant figure out why the loop isnt running at all.

Tracing:

Daniel
Press any key to continue_

Thanks for the loop help though, very appreciated.
Look carefully at your loop declaration it should be like this...

for( i = 0; i < 10; i++ )

NOT

for( i = 0, i < 10; i++; )

try this code to clear it up.
Code:
```#include<iostream>
#include<string>
using namespace std;

int main(){
string name;
float fNum;
float fSum = 0.0f;
int i;

cin >> name;
cout << "Your name is "<< name << endl;

/* Our for loop */
for( i = 0; i < 10; i++ )
{
cout << "Please enter a number: ";
cin >> fNum;
fSum += fNum;
cout<<"The sum of your numbers equals "<< fSum << endl;
}

return 0;
}```

Code:
```#include<iostream>
#include<string>
using namespace std;

int main(){
string name;
double sum,num[10];
int i;
sum=0
cin>>name;
for(i=0,i<10;i+1;){
cin>>num[i];
}
sum+=num[i];
cout<<"The sum of your numbers equals "<<sum<<endl;
return(0);
}```
This lets the loop run, but it never stops asking for numbers. Wouldnt it do that after it reaches num[9]?? Well, I also moved the whole sum statement outside the loop so it wont display the sum everytime they input a number. But why does it still loop infinitely?

5. Ok....my program fully works. I edited a little, the placement of the semicolons is what the problem was after myy breakthrough. Here is the finished piece:

Code:
```#include<iostream>
#include<string>
using namespace std;

int main(){
string name, selection;
double sum,num[10],mean;
do{
int i;
cin>>name;
for(i=0;i<10;i++){
cin>>num[i];
}
sum=num[0]+num[1]+num[2]+num[3]+num[4]+num[5]+num[6]+num[7]+num[8]+num[9];
cout<<"The sum of your numbers equals "<<sum<< endl;
mean=sum/10;
cout<<"The average of these numbers is "<<mean<<endl;
cout<<"Would you like to repeat this program? ";
cin>>selection;
}while(selection=="Yes" || selection=="yes");
return(0);
}```
Thank you both for the help...very much needed. I hope to be able to help others soon from now.^_^

6. Hey sup,

IanelarAzure,you should use a for loop to add them up.
Have a look:

Code:
```#include<iostream>
#include<string>
using namespace std;

int main()
{
string name, selection;
double sum = 0,num[10],mean = 0;
do{
int i;
cin>>name;
for(i=0;i<10;i++)
{
cin>>num[i];
}
for(i=0;i<10;i++)
sum+=num[i];
cout<<"The sum of your numbers equals "<<sum<< endl;
mean=sum/10;
cout<<"The average of these numbers is "<<mean<<endl;
cout<<"Would you like to repeat this program? ";
cin>>selection;
}while(selection=="Yes" || selection=="yes");
return(0);
}```
Hope this helps

Marc