Hello all,

My objective is simple. I have to take in 2 positive integers and multiply them by using addition. This is a recursive problem.

Example of Output:

Please enter 2 positive integers to multiply:

4 2

4 * 2 = 8

The problem is whenever the user types in both numbers, the program window just disappears.

To receive my result, I am suppose to use something like:

x + multiply(x,--y);

Please help me with this...Thank you

#include <iostream>

using namespace std;

int multiply(int x, int y);

int main()
int x;
int y;          

cout<<"Please enter 2 positive integers to multiply"<<endl;

cout<<x<<" * "<<y<<" = "<<multiply(x,--y)<<endl;

system ("PAUSE");
return 0;

int multiply(int x, int y)

if (x == 0)
return 0;

if (x == 1)
return x;

if (x > 1)

return (x + multiply(x,--y));


Recommended Answers

All 2 Replies

You test x, and only change y

As long as you are decrementing y you should put y in your base cases checks, otherwise multiply(2, wathever); would result in *endless* recursion.

EDIT: Sorry, Salem beated me in speed.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.