1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
Ganezh [65]
3 years ago
12

Write a function that accepts an integer parameter and returns its integer square root (if it exists). The function should throw

an exception if it is passed an integer that is not a perfect square. Do not handle the exception in the function, but instead create the exception handler in main. Make the exception a new exception class which your program creates. Demonstrate the function with a driver program that passes the function the numbers 0 through 25, then prints whether or not the number is a perfect square. (A "perfect square" is a whole number whose square root is also a whole number.)
Computers and Technology
2 answers:
professor190 [17]3 years ago
8 0

Answer:

See explaination

Explanation:

// Include the necessary header files.

#include <iostream>

#include <exception>

#include <cmath>

using namespace std;

// Definition of the function.

int square_root(int n)

{

// Check whether n is less than 0.

if(n < 0)

// Throw exception.

throw domain_error("Supplied integer is negative!");

// check whether n is equal to 0;

else if(n == 0)

// Throw 0.

throw 0;

// Declare a variable and assign value.

double squ_root = sqrt(n);

// // Declare a variable and assign value.

int squ_root_int = (int)squ_root;

// compare values

// check whether the values are equal or not.

if(squ_root != squ_root_int)

// Throw exception.

throw invalid_argument("Supplied integer is not a perfect square !");

// return the value.

return squ_root_int;

}

// Declare the main function.

int main()

{

// declare variables.

int n;

int squ_root;

// Prompt the user to enter the number.

cout << "Enter a number: ";

cin >> n;

// start the try block.

try

{

// call to the function.

squ_root = square_root(n);

// Display the statement on console.

cout << "Square root is " << squ_root << endl;

}

// start the catch block.

catch(domain_error e)

{

// Display the statement on console.

cout << "Error: " << e.what() << endl;

return -1;

}

// Start the catch block

catch (int y)

{

// check whether y is equal to zero or not.

if(y == 0)

{

// Display the statement on console.

cout << "Error: Supplied integer is zero !" << endl;

return -2;

}

}

// Start the catch block

catch(invalid_argument e)

{

// Display the sstatement.

cout << "Error: " << e.what() << endl;

return -3;

}

// Return the value.

return 0;

}

kupik [55]3 years ago
4 0

Answer:

Check the explanation

Explanation:

#include <iostream>

#include <cmath>

#include <math.h> //Not sure about including math.h

using namespace std;

int sqrt4(const int m)

{

  int i=0;

const int q=0;

  while( (i*i) <= m )

{

if(i*i==m)

{

q++;

return i;

}

else

{

i++;

}

}

if(q==0)

{

throw "not a perfect square!";

}  

}

int M1 (int x){

  cout << "Number: " << x << endl;

  x = sqrt(x);

  cout << "Number's square root: " << x << endl;

 

  return x;

}

void main (){

  int y = 4; // Program currently uses 4 in calculations

  M1 (y);

}

You might be interested in
Jerry has received an email on his company’s email system. The email is in regard to a new update the company plans to implement
Alla [95]

Answer:

The type of attack is <em>Phising Email.</em>

<em />

Explanation:

Phishing emails are mails purportedly sent by a company staff seeking some vital information from an employee or employees. Criminals often use such method to get sensitive information about a company and its details from its own employees who may not be able to differentiate such mails from the normal company mails. Thus the mail that Jerry receives regarding a new update the administrators of his company intends to implement can be regarded as a Phishing email.

5 0
3 years ago
The computer system for a major retail store was hacked. Many addresses, credit card numbers, and other pieces of customers’ per
drek231 [11]

Answer

Cyber Security professionals

Explanation

Cyber security professionals can help the company protect itself from hackers. They are experts who will install antivirus into the software used in the company to protect virus manipulation and prevent malware. They will further encrypt the websites of the company and reset the password of the computers into two-factor authentications to make the login requirements advanced.


7 0
3 years ago
Read 2 more answers
Electricity fact topic
gregori [183]
''for kids'' i think thats what that mean
5 0
3 years ago
Read 2 more answers
The sum of all the minterms of a boolean function of n variables is equal to 1.
Aleksandr-060686 [28]

The answers are as follows:

a) F(A, B, C) = A'B'C' + A'B'C + A'BC' + A'BC + AB'C' + AB'C + ABC' + ABC

= A'(B'C' + B'C + BC' + BC) + A((B'C' + B'C + BC' + BC)

= (A' + A)(B'C' + B'C + BC' + BC) = B'C' + B'C + BC' + BC

= B'(C' + C) + B(C' + C) = B' + B = 1


b) F(x1, x2, x3, ..., xn) = ∑mi has 2n/2 minterms with x1 and 2n/2 minterms

with x'1, which can be factored and removed as in (a). The remaining 2n1

product terms will have 2n-1/2 minterms with x2 and 2n-1/2 minterms

with x'2, which and be factored to remove x2 and x'2, continue this

process until the last term is left and xn + x'n = 1

4 0
3 years ago
1. Briefly explain the concept of signature of a function, in a function declaration. What signature components are crucial for
Irina18 [472]

Answer:

Function signature can be defined as a combined term used to refer to the function name, function return type, no of arguments , type of arguments.

Explanation:

The signature of function is seen as a combined term used to refer to the function name, function return type, number of arguments , type of arguments.

When overloaded functions is been defined, they are different in numbet of arguments or type of argument passed.

To understand this better refer to the program code below.

C++ code.

#include <iostream>

using namespace std;

int multiply(int a, int b)

{

cout << a*b <<endl;

return 0;

}

int multiply(int a, int b, int c)

{

cout << a*b*c <<endl;

return 0;

}

int main()

{

//function with two arguments passed

multiply(3, 50);

//function with three arguments passed . It is different in number of arguments passed. Thus here function signature is different

multiply(4, 20, 10);

}

6 0
3 years ago
Other questions:
  • 3. Discuss the disadvantages of file-based systems.
    13·1 answer
  • What will be the output of the following Python code? class A: def test1(self): print(" test of A called ") class B(A): def test
    15·1 answer
  • Henry must choose which type of smart speaker to use in his home. He asked you to help him decide which one will best suit his n
    11·1 answer
  • g Q 2 Suppose I need a data structure having the following characteristics: a) must be very space efficient, and b) I have a goo
    6·1 answer
  • What is an example of a memo
    9·1 answer
  • Suppose that a computer can read or write a memory word in 5 nsec. Also suppose that when an interrupt occurs, all 32 CPU regist
    10·2 answers
  • What happens when you call someone whose phone is off?
    6·2 answers
  • They are correct? thank you!
    6·2 answers
  • Explain the following buttons as used in emails:compose,inbox and Draft.<br>​
    10·1 answer
  • Implement the ArrayMethod application containing an array that stores eight integers. The application should call the following
    12·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!