Suggesting Error Corrections in Natural Number Addition – Computer Sir Ki Class
  

Login
[lwa]



Solved Problem! #CPP#3221 siteicon   siteicon   siteicon  

Problem Statement - Suggesting Error Corrections in Natural Number Addition

A student has written this program to sum natural numbers from 1 to 10. His program is not giving correct results. Please help in correcting this program with right explanations as well.

TC++ #3221

#include <iostream.h>
#include <conio.h>
int main()
{
clrscr();
int sum;
for(int n=1;n<10;n++)
{
sum=sum+n;
n++;
}
cout<<"Sum of natural numbers upto 10 = "<<sum<<endl;
getch();
return 0;
}
#include <iostream>
using namespace std;
int main()
{
int sum;
for(int n=1;n<10;n++)
{
sum=sum+n;
n++;
}
cout<<"Sum of natural numbers upto 10 = "<<sum<<endl;
return 0;
}

Test it !

Solution


int sum;  //ERROR
This is in error as the sum variable is used for successive summing, so it must begin with 0. The correct syntax would be
Corrected: int sum=0;

for(int n=1;n<10;n++)    //ERROR
Since the user wants to sum from 1 to 10, both inclusive, so this loop will run from 1 to 10 as following
Corrected:  for(int n=1;n<=10;n++)
{
sum=sum+n; //OK

n++;                  //ERROR
This line should be removed as incrementing is already being done in the for loop. This kind of line is required in while loop and usually not in for loop.

Corrected: This line should be deleted.

}
cout<<“Sum of natural numbers upto 10 = “<<sum<<endl; //OK

 

Notes

  • One must remember the initialisation thumb rule that all variables which are needed for counting summing etc. must be set to 0 as initialised as per program requirement.  Modern programmers suggest that initialisation of every variable should be done.
  • The loop range must be manually confirmed for number of times it will run.Based on this operator selection as < or <= is done. Commonly loops that begin with 0 have < operator. But one can not make this a general rule. Every problem has its own requirement, so trying to establish that how many times a loop will run is the best practice.


Share

sunmitra| Created: 31-Jan-2018 | Updated: 15-Sep-2018|






Back