Skill Rack INLAB 4

Solutions for Skillrack CSE1002 Inlab 4

Total time : 20 mins
Challenges : 1

Question (Arithmetic Progression)

An Arithmetic Progression(AP) is described by the first term ‘f’ and the common difference’. The n-th term of an AP is described by a_n= f+(n-1)d. The progression 1,4,9 .. is an AP.  Given the f,d n, k, p , q, Develop a program in C++ using the class, to represent an arithmetic progression and provide methods to compute:
(i)  n-th term of the arithmetic progression
(ii)  r such that a_r=k. If there is no r such that a_r=k, the program should print zero.
(iii) Absolute Difference between a_p and a_q
Input Format:
First line contains the first term of the AP
Next line contains the common difference d
Next line contains the value of k
Next line contains the value of p
Next line contains the value of q
Output Format:
First line should contain the nth of the arithmetic progression
Next line should contain the value of ‘r’
Next line should contain the absolute difference between a_p and a_q
Boundary Conditions:
a , d are integers
n,p,q are all positive integers

Solution

#include<iostream>
#include<cmath>
using namespace std;
class apr
{
int first;
int diff;
public:
void get();
int compute_term(unsigned int n);
int find_r(int k);
int abs_diff(unsigned int p,unsigned int q);
};
void apr :: get()
{
 cin>>first>>diff;
}
int apr :: compute_term(unsigned int n)
{
 return(first+(n-1)*diff);
}
int apr :: find_r(int k)
{
 if((k-first)%diff==0)
        return(((k-first)/diff)+1);
        else
        return(0);
}
int apr :: abs_diff(unsigned int p,unsigned int q)
{
 return(abs((p-q)*diff));
}
int main()
{
apr ap1;
unsigned int n,p,q;
int k;
ap1.get();
cin>>n;
cout<<ap1.compute_term(n)<<endl; cin>>k;
cout<<ap1.find_r(k)<<endl; cin>>p>>q;
cout<<ap1.abs_diff(p,q)<<endl;
}
Share on Google Plus

About Unknown

This blog is exclusively for VITIAN'S TO fulfill their needs. Also you can tell our team your need and we will assist you as soon as possible. For any quaries send your emails to "everything4vitians@gmail.com". Thank you
    Blogger Comment

0 comments:

Post a Comment