54
Loop Control Structures • L11-L14

Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

Embed Size (px)

Citation preview

Page 1: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

Loop Control Structures

• L11-L14

Page 2: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

OBJECTIVES

• To learn and appreciate the following concept

• The for Statement• Relational Operators• Nested for Loops• for Loop Variants• The while Statement• The do Statement• The break Statement• The continue Statement• Increment & decrement Operator• typedef & enum

2

Page 3: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

Structure of a C++ program

#include <iostream.h>void main (){ int value1, value2, sum; value1 = 50; value2 = 25; sum = value1 + value2; cout<<“Sum of “<<value1<<“ and ”<<value2 <<“is”<< sum;}

Entry point of a C++ program

Sequential flow of control

3

Page 4: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

Controlling the program flow

• Forms of controlling the program flow:– Executing a sequence of

statements– Using a test to decide

between alternative sequences (branching)

– Repeating a sequence of statements (until some condition is met) (looping)

Statement1 Statement2 Statement3 Statement4 Statement5 Statement6 Statement7 Statement8

4

Page 5: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

• A set of statements that is executed repetitively for a number of times.

• Simple example: displaying a message 100 times:

Program Looping

cout<<“hello !\n”;cout<<“hello !\n”;cout<<“hello !\n”;

…cout<<“hello !\n”;cout<<“hello !\n”;

Repeat 100 times cout<<“hello !\n”;

Program looping: enables you to develop concise programs containing repetitive processes that could otherwise require many lines of code !

5

Page 6: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

Three kinds of loop control structures: while

do while

for

Iterative (loop) control structures

6

Page 7: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

The need for program looping

#include <iostream.h>void main (void) {

int triangularNumber;triangularNumber = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8;cout<<"The eighth triangular number is “<< triangularNumber;

}

What if we have to compute the 200-th (1000-th, etc) triangular number ?

Example problem: computing triangular numbers. (The n-th triangular number is the sum of the integers from 1 through n)

We have 3 different statements for looping: for, while, do

7

Page 8: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

Each loop control structure will have Program loop: body of loop. control statement tests certain conditions &

then directs repeated execution of statements within the body of loop.

Two types: Based on position of control statement.

1) Entry controlled loop: control is tested before the start of the loop. If false, body will not be executed.

2) Exit controlled loop: test is performed at the end of the body. i.e. body of loop executed at least once.

Iterative (loop) control structures

8

Page 9: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

Entry Controlled & Exit controlled loops

Test Condition

True

Body ofThe loop

False

EntryEntry

True

Test Condition

Body ofThe loop

False

9

Page 10: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

Example – 200th triangular number

n=1

triangularNumber = triangularNumber + n

n<=200

n=n+1

yes

no

triangularNumber = 0

Print triangularNumber

Statement before loop

init_expression

loop_condition

Statement(s)

loop_expression

Statement after loop

10

Page 11: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

Operator Meaning

== Is equal to

!= Is not equal to

< Is less than

<= Is less or equal

> Is greater than

>= Is greater or equal

Relational operators

The relational operators have lower precedence than all arithmetic operators: a < b + c is evaluated as a < (b + c)

ATTENTION ! the “is equal to” operator == and the “assignment” operator =

ATTENTION when comparing floating-point values ! Only < and > comparisons make sense !

11

Page 12: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

12

Relational operatorsAn expression such as a<b containing a relational operator is called a relational expression.

The value of a relational expression is one, if the specified relation is true and zero if the relation is false.

E.g.:10 < 20 is TRUE20 < 10 is FALSE

A simple relational expression contains only one relational operator and takes the following form.

ae1 relational operator ae2

ae1 ae1 & ae2ae2 are arithmetic expressions, which may be simple constants, variables or combinations of them.

Page 13: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

13

The arithmetic expressions will be evaluated first & then the

results will be compared. That is, arithmetic operators have a

higher priority over relational operators.

Suppose that i, j and k are integer variables whose values are 1, 2 and 3 respectively.

Expression Interpretation Valuei<j (i+j)>=k (j+k)>(i+5) k!=3 j==2

true 1 true 1false 0false 0true 1

Relational operators

Page 14: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

The ‘for’ loop

for ( init_expression; loop_condition; loop_expression ){ program statement}

init_expression

Program statement

loop_condition

Loop expression

yes

no

1

2

3

4

5

Next Statement 14

Page 15: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

• The execution of a for statement proceeds as follows:

1. The initial expression is evaluated first. This expression usually sets a variable that will be used inside the loop, generally referred to as an index variable, to some initial value.

2. The looping condition is evaluated. If the condition is not satisfied (the expression is false – has value 0), the loop is immediately terminated. Execution continues with the program statement that immediately follows the loop.

3. The program statement that constitutes the body of the loop is executed.

4. The looping expression is evaluated. This expression is generally used to change the value of the index variable

5. Return to step 2.

How for works

15

Page 16: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

for ( n = 1; n <= 200; n = n + 1 ); { sum = sum + n; }

The for statement

1 2

3

45yes

no

Next Statement

16

sum = 0;

Page 17: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

#include <iostream.h>void main(){ int n; int sum; sum=0; //initialize sum

for(n = 1; n < =100; n=n + 1) { sum=sum + n;} cout<<sum;}

Finding sum of natural numbers up to 100

17

Page 18: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

• It’s the task of the programmer to design correctly the algorithms so that loops end at some moment !

// Program to count 1+2+3+4+5

#include <iostream.h>

void main ()

{int i, n = 5, sum =0;

for ( i = 1; i <= n; n = n + 1 )

{

sum = sum + i;

cout<< sum;

}

}

Infinite loops

What is wrong here ?Does the loop end?

18

Page 19: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

Example – for with a body of 2 statements

// Program to generate a table of triangular numbers

#include <iostream.h>void main (void){

int n, triangularNumber=0;

cout<<"TABLE OF TRIANGULAR NUMBERS\n\n";cout<<“ Sum from 1 to n\n";

for ( n = 1; n <= 10; n++ ){

triangularNumber += n;cout<< n <<“ “<< triangularNumber;

}}

19

Page 20: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

Nesting of for loop One for statement can be nested within another for statement.

for (i=0; i< m; ++i) { ….. …. for (j=0; j < n;++j) { Statement S;

} // end of inner ‘for’ statement }// end of outer ‘for’ statement

20

Page 21: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

Nested loops

#include <iostream.h>void main (void){

int n, number, triangularNumber=0, counter;

for ( counter = 1; counter <= 5; counter++ ){

cout<<"What triangular number do you want? ";cin>>number;

for ( n = 1; n <= number; n++ )triangularNumber = triangularNumber + n;

cout<<"Triangular number”<<number <<“is” <<triangularNumber;

}}

Remember indentations!21

Page 22: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

Example: Multiplication table for ‘n’ tables up to ‘k’ terms

cin>>n>>k;

for (i=1; i<=k; i++) { for (j=1; j<=n; j++) {

prod = i * j; cout<< j << " * " << i <<"= "<< prod <<"\t"; }

cout<<“\n”; }

22

Enter n & k values: 3 5The table for 3 X 5 is1 * 1= 1 2 * 1= 2 3 * 1= 31 * 2= 2 2 * 2= 4 3 * 2= 61 * 3= 3 2 * 3= 6 3 * 3= 91 * 4= 4 2 * 4= 8 3 * 4= 121 * 5= 5 2 * 5= 10 3 * 5= 15

Page 23: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

• Multiple expressions (comma between…) for(i=0 , j=10 ; i<j ; i++ , j--)

• Omitting fields (semicolon have to be still…) i=0; for( ; i<10 ; i++ )

• Declaring variables for(int i=0 ; i=10 ; i++ )

for loop variants

23

Page 24: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

General format:

while (test expression) { body of the loop }

Entry controlled loop statement.

Test condition is evaluated & if it is true, then body of the loop is executed.

This is repeated until the test condition becomes false, & control transferred out of the loop.

Body of loop is not executed if the condition is false at the very first attempt.

While loop can be nested. 24

while-statement

Note: braces optional if only one statement.

Page 25: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

The while statement

while ( expression )program statement Loop with the test

in the beginning !Body might never

be executed !

statement (s)

Loop_expression

yesNo

25

1

2

3 4

statement before loop

Next statement

Page 26: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

#include <iostream.h>void main(){ int n; int sum; sum=0; //initialize sum

for(n = 1; n < 100; n=n + 1) { sum=sum + n;} cout<<sum;}

Finding sum of natural numbers up to 100

#include <iostream.h>void main( ){ int n; int sum; sum=0; //initialize sum n=1; while (n <

100) { sum= sum

+ n; n = n + 1; } cout<<sum;}

26

Page 27: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

Program to reverse the digits of a number

#include <iostream.h>void main (void){

int number, rev=0, right_digit;

cout<<"Enter your number.\n";cin>>number;

while ( number != 0 ) {

right_digit = number % 10;rev=rev*10 + right_digit;number = number / 10;

}cout<<“The reversed number is “<< rev;

}

27

Page 28: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

General form: do

{body of the loop

}while(test condition);

Exit controlled loop. At the end of the loop, the test condition is evaluated.

After do statement, program executes the body of the Loop.

Then, the condition is tested, if it is true, body of the loop is executed once again & this process continues as long as the condition is true.

Body of the loop is executed at least once. do-while loop can be nested. 28

The do – while statement

Page 29: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

The do statement

doprogram statement

while ( loop_expression );

Statement(s)

loop_expressionyes

No

Loop with the test at the end !

Body is executed at least once !

29

1

2

3

4Next statement

Page 30: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

#include <iostream.h>void main(){ int n; int sum=0;

n=1; do { sum = sum + counter; counter = counter +1;}} } while (counter < 100); cout<<sum;}

30

Example: Finding sum of natural numbers up to 100

do { sum = sum + n; n = n +1; } while (n < =100);

#include <iostream.h>

void main( ){ int n; int sum =0; n=1; while (n<

=100) {

sum=sum+n; n = n +1; } cout<<sum;}

Page 31: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

Program to reverse the digits of a number

#include <iostream.h>void main (){

int number, rev=0, right_digit;

cout<<"Enter your number.\n";cin>>number;

do {

right_digit = number % 10;rev=rev*10 + right_digit;number = number / 10;

}while ( number != 0 );

cout<<“The reversed number is “<< rev;}

31

Page 32: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

• Criteria: category of looping– Entry-controlled loop -> for, while– Exit-controlledloop -> do

• Criteria: Number of repetitions:– Indefinite loops ->while– Counting loops -> for

• You can actually rewrite any while as a for and vice versa !

Which loop to choose ?

32

Page 33: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

• Can be used in order to immediately exiting from a loop

• After a break, following statements in the loop body are skipped and execution continues with the first statement after the loop

• If a break is executed from within nested loops, only the innermost loop is terminated

The break Statement

33

Page 34: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

Exiting a loop with break statement

while (……….)

{…….

…………

If(condition)

break;

………

……….

} // end of while

………… //next statement

ExitFromloop

do

{…….

…………

If(condition)

break;

………

……….

} while(…);

………….. // next statement

ExitFromloop

34

Page 35: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

Exiting a loop with break statement

for

{…….

…………

If(condition)

break;

………

……….

}

……next Stmts;

ExitFromloop

for (……….)

{…….

for(……..)

{ ………

If(condition)

break;

… stmts of inner loop;

} // inner for loop ends

….stmts of outer loop;

} // outer for loop ends

…… next Stmts;

ExitFrominnerloop

35

Page 36: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

int j, prime=1;

cin>>N

for( int j=2; j<N; j++ )

{

if( (N % j) == 0)

{

prime=0;

break; /* break out of for loop */

}

}

if (prime == 1)

cout<< N<<“ is a prime no”;

else

cout<<N<<“ Not a prime”;

36

Check whether given number is prime or not

Page 37: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

Program to generate prime numbers between given 2 limits

37

cin>>m>>n;

for( int i=m; i<=n; i++)

{

int prime=1;

for( int j=2; j<i; j++ )

{

if( i % j == 0)

{

prime=0;

break; /* break out of inner loop */

}

}

if (prime == 1) cout<< i <<"\t";

}

Page 38: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

Skipping a part of loop-continue statement

38

while (……….)

{ Statement-1; Statement-2; If(condition) continue;

Statement-3; Statement-4;

}

Next_statement

Do

{ Statement-1; Statement-2;

If(condition) continue; Statement-3; Statement-4;} while(…);

Next_statement

Skip a part of the body of the loop under certain conditions is done using continue statement.

As the name implies, continue causes the loop to be continued with next iteration, after skipping rest of the body of the loop.

Page 39: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

Skipping a part of loop - example

39

for{ i=10; i<=15; i++ } {

if(i==13 || i==14)continue;

cout<<i<<“\t”;

}

10 11 12 15

Page 40: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

Skipping a part of loop

40

for ( i = 1 ; i <= 2 ; i++ ) { for ( j = 1 ; j <= 2 ; j++ ) { if ( i == j ) continue ; cout<<"\n”<<i <<“\t<<j<<“\n”; } }

1 22 1

Page 41: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

The operator ++ adds 1 to the operand.

The operator -- subtracts 1 from the operand.

Both are unary operators.

Ex: ++i or i++ is equivalent to i=i+1

They behave differently when they are used in expressions on the R.H.S of an assignment statement.

41

Increment and Decrement operators (++ and -- )

Page 42: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

Ex: m=5;y=++m;

m=5;y=m++;

Prefix operator ++ appears before the variable.Postfix operator ++ appears after the variable.

42

Increment and Decrement operators

In this case, the value of y and m would be 6.

Here y continues to be 5. Only m changes to 6.

Page 43: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

Don’ts:Attempting to use the increment or decrement operator on an expression other than a modifiable variable name or reference.

Example: ++(5) is a syntax error

++(x + 1) is a syntax error45

Increment and Decrement operators

Page 44: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

typedef

Type definition - lets you define your own identifiers.

enum

Enumerated data type - a type with restricted set of

values.

46

User defined Type declarations

Page 45: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

typedef type identifier;

The “type” refers to an existing data type and “identifier” refers to the new name given to the data type.

After the declaration as follows:

typedef int marks;

typedef float units;we can use these to declare variables as shown

marks m1,m2 ; //m1 & m2are declared as integer variables

units u1, u2; //u1 & u2 are declared as floating point variables

The main advantage of typedef is that we can create meaningful data type names for increasing the readability of the program.

47

User defined Type Declaration

Page 46: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

enum identifier { value1, value2,..,valuen };

• Here, identifier is the name of enumerated data type or tag. And value1, value2,....,valueN are values of type identifier.

• By default, value1 will be equal to 0, value2 will be 1 and so on but, the programmer can change the default value.

enum card{ club, diamonds, hearts, spades };

enum card{ club=0, diamonds=10, hearts=20, spades=3 };

48

User defined Type Declaration - enum

Page 47: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

50

enum week { Monday =1, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday};

cout<< “ Enter n >1 &<7 and 0 for Exit"; cin>>n

switch(n){

case Monday:cout<<“Monday.";break;

case Tuesday:

cout<<“ Tuesday.";break;

case Wednesday:cout<<“ Wednesday.";break;

case Thursday:cout<<“ Thursday.";break;

case Friday:cout<<“ Friday.";break;

case Saturday:cout<<“\Saturday.";break;

case Sunday:cout<<“Sunday.";break;

case 0: exit(0);

default: cout<<"\nInvalid Entry. Enter 0-7.";

}

Page 48: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

51

#include <iostream.h>#include <conio.h>void main( ){ int num, count, fact=1;

cout<<“Enter a value for num : “; cin>>num;

for(count = 1; count<=num; count ++) fact = fact * count;

cout<<“Factorial of “<<num<<“ = “<<fact; }

Program to find the factorial of a number

Page 49: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

52

Algorithm : Fibonocci SeriesStep 1 : Input LimitStep 2: First0,Second1Step 3: print FirstStep 4: WHILE Second < Limit begin Print Second Next First + Second FirstSecond

Second Next endStep 5:[End of Algorithm]

Stop

Algorithm and Program for Fibonacci series

#include<iostream.h>#include<conio.h>void main() {

int first=0, second=1; int limit, next;

cin>>limit;cout<<first;

while(second < limit) {

cout<<second; next = first + second; first = second;

second = next;}

}

Page 50: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

54

dec = bd*2n + bd*2n-1 + … + bd*21 + bd*20 e.g.-given n=101 1*22 + 0*21 + 1*20 = 5

-----------------------------------------------------------

int n, p=0, sum=0, k;cout<<“Enter a binary number : “;cin>>n;

do {k=n%10; // binary number in nsum= sum + k * pow(2,p);//decimal number in sump++;n= n/10;} while (n!=0);

cout<<“Decimal Equivalent = “ <<sum;

Example: Convert binary to decimal

Page 51: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

55

Count the even and odd digits in a given ‘n’ digit number

e.g.- num = 31467OUTPUT 2 even & 3 odd digits

cin>>num;while(num > 0) { rem=num%10; num =num/10; if(rem%2==0) ecnt++; else ocnt++; }

cout<<ecnt<<" even & "<<ocnt<<" odd digits ;

Page 52: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

56

Check for palindrome

n = num; while(num>0)

{ dig = num % 10; rev = rev * 10 + dig; num = num / 10;}

if (n == rev) cout<<"\n\t GIVEN NO IS A PALINDROME"; else cout<<"\n\t GIVEN NO NOT A PALINDROME";

Palindrome (number) e.g.- 121

Page 53: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

57

Armstrong nos for a given limit ‘n’

cin>>lim;for(n=1;n<lim;n++){ sum = 0; num = n; while(num>0) { dig = num%10; sum = sum+pow(dig,3); num = num/10; }if(sum == n) cout<<"\n\t"<<n;}

Armstrong Numbere.g. - 371∑ (cubes of digits )= number

33 + 73 + 13 = 371

Page 54: Loop Control Structures L11-L14. OBJECTIVES To learn and appreciate the following concept The for Statement Relational Operators Nested for Loops for

58

cin>>n>>x; no=x; x=x*PI/180.0; term=x; sum=x; for (i=1;i<=n;i++) { term=(term*pow((-1),(2*i-1))*x*x)/(2*i*(2*i+1)); sum+=term; }cout<<"Library value of Sin("<<no<<")="<<sin(x); cout<<"Sin("<<no<<")="<<sum;

Sine series for a given ‘n’ terms & angle ‘x’

Sine series sin(x)= x - x3/3! + x5/5! - … xn/n!