C++ Programming Questions and Answers – Generalized Numeric Algorithms

«
»
This section on C++ quiz focuses on “Generalized Numeric Algorithms”. One shall practice these quizzes to improve their C++ programming skills needed for various interviews (campus interviews, walkin interviews, company interviews), placements, entrance exams and other competitive exams. These questions can be attempted by anyone focusing on learning C++ programming language. They can be a beginner, fresher, engineering graduate or an experienced IT professional. Our C++ quiz comes with detailed explanation of the answers which helps in better understanding of C++ concepts.

Here is a listing of C++ quiz on “Generalized Numeric Algorithms” along with answers, explanations and/or solutions:

1. Which header file is used to operate on numeric sequences?
a) number
b) numeric
c) algorithm
d) digit
View Answer

Answer: b
Explanation: header file is used to operate on numeric sequences that support certain operations.
advertisement

2. Which mathematics library is used for vector manipulation in c++?
a) cli++
b) vec++
c) blitz++
d) stac+++
View Answer

Answer: c
Explanation: Blitz++ is a high-performance vector mathematics library written in C++.

3. What is the use of accumulate function in a numeric library?
a) Returns the number
b) Returns the result of accumulating all the values in the range
c) Returns the number & result
d) Return the characters
View Answer

Answer: b
Explanation: Returns the result of accumulating all the values in the range from first to last.

4. What will be the output of the following C++ code?

  1.     #include <iostream>
  2.     #include <functional>
  3.     #include <numeric>
  4.     using namespace std;
  5.     int myop (int x, int y)
  6.     {
  7.         return x + y;
  8.     }
  9.     int main ()
  10.     {
  11.         int val[] = {1, 2, 3, 5};
  12.         int result[7];
  13.         adjacent_difference (val, val + 7, result);
  14.         for (int i = 0; i < 4; i++)
  15.             cout << result[i] <<' ';
  16.         return 0;
  17.     }

a) 1 1 1 2
b) 1 2 3 1
c) 1 2 3 5
d) 1 2 5 6
View Answer

Answer: a
Explanation: In this program, We are calculating the adjacent difference of the given range by using function adjacent_difference.
Output:

$ g++ gnl.cpp
$ a.out
1 1 1 2

5. What will be the output of the following C++ code?

advertisement
  1.     #include <iostream>
  2.     #include <functional>
  3.     #include <numeric>
  4.     using namespace std;
  5.     int myfunction (int x, int y) 
  6.     {
  7.         return x + 2 * y;
  8.     }
  9.     struct myclass 
  10.     {
  11.         int operator()(int x, int y) 
  12.         {
  13.             return x + 3 * y;
  14.         }
  15.     } myobject;
  16.     int main () 
  17.     {
  18.         int init = 100;
  19.         int numbers[] = {10, 20, 30};
  20.         cout << accumulate(numbers, numbers + 3, init);
  21.         cout << endl;
  22.     }

a) 100
b) 140
c) 160
d) 180
View Answer

Answer: c
Explanation: In this program, We are calculating the product of every number in the given range by using accumulate function.
Output:

$ g++ gnl1.cpp
$ a.out
160

6. What will be the output of the following C++ code?

  1.     #include <iostream>
  2.     #include <functional>
  3.     #include <numeric>
  4.     using namespace std;
  5.     int myop (int x, int y) 
  6.     {
  7.         return x + y + 1;
  8.     }
  9.     int main () 
  10.     {
  11.         int val[] = {1, 2, 3, 4, 5};
  12.         int result[5];
  13.         partial_sum (val, val + 5, result);
  14.         for (int i = 0; i < 5; i++)
  15.             cout << result[i] << ' ';
  16.         return 0;
  17.     }

a) 1 3 6
b) 1 3 6 10 15
c) 1 3 6 10 16
d) 1 10 5 6 4
View Answer

Answer: b
Explanation: In this program, We are calculating the sum of the given range by using partial_sum function.
Output:

advertisement
$ g++ gnl2.cpp
$ a.out
1 3 6 10 15

7. What will be the output of the following C++ code?

  1.     #include <iostream>
  2.     #include <functional>
  3.     #include <numeric>
  4.     using namespace std;
  5.     int myfunction (int x, int y) 
  6.     {
  7.         return x + 2 * y;
  8.     }
  9.     struct myclass 
  10.     {
  11.         int operator()(int x, int y) 
  12.         {
  13.             return x + 3 * y;
  14.         }
  15.     } myobject;
  16.     int main () 
  17.     {
  18.         int init = 100;
  19.         int numbers[] = {10, 20, 30};
  20.         cout << accumulate (numbers, numbers + 3, init, minus<int>() );
  21.         cout << endl;
  22.         return 0;
  23.     }

a) 40
b) 100
c) 140
d) 524
View Answer

Answer: a
Explanation: In this program, We are finding the difference between the init and the total of numbers range.
Output:

$ g++ gnl3.cpp
$ a.out
40

8. What will be the output of the following C++ code?

  1.     #include <iostream>
  2.     #include <functional>
  3.     #include <numeric> 
  4.     using namespace std;
  5.     int myaccumulator (int x, int y) 
  6.     {
  7.         return x - y;
  8.     }
  9.     int myproduct (int x, int y) 
  10.     {
  11.         return x + y;
  12.     }
  13.     int main () 
  14.     {
  15.         int a = 100;
  16.         int series1[] = {10, 20, 30};
  17.         int series2[] = {1, 2, 3};
  18.         cout << inner_product(series1, series1 + 3, series2, a ,myaccumulator, 
  19.         myproduct);
  20.         cout << endl;
  21.         return 0;
  22.     }

a) 40
b) 34
c) 32
d) 20
View Answer

Answer: b
Explanation: In this program, We are forming the custom function from two ranges by using inner_product function.
Output:

advertisement
$ g++ gnl4.cpp
$ a.out
34

9. How many parameters are available in partial_sum function in c++?
a) 2
b) 3
c) 2 or 3
d) 3 or 4
View Answer

Answer: d
Explanation: There are three or four parameters available in partial_sum function in C++. They are first and last element, result and an optional binary operator.

10. What is the default operation of adjacent_difference function in numeric library?
a) Difference
b) Addition
c) Multiplication
d) Subtraction
View Answer

Answer: a
Explanation: The default operation is to calculate the difference, but some other operation can be specified as binary operator instead.

Sanfoundry Global Education & Learning Series – C++ Programming Language.

advertisement
advertisement
advertisement
Manish Bhojasia, a technology veteran with 20+ years @ Cisco & Wipro, is Founder and CTO at Sanfoundry. He is Linux Kernel Developer & SAN Architect and is passionate about competency developments in these areas. He lives in Bangalore and delivers focused training sessions to IT professionals in Linux Kernel, Linux Debugging, Linux Device Drivers, Linux Networking, Linux Storage, Advanced C Programming, SAN Storage Technologies, SCSI Internals & Storage Protocols such as iSCSI & Fiber Channel. Stay connected with him @ LinkedIn