mikeysaxton
mikeysaxton

Reputation: 37

Printing multiple outputs on same line

there. I'm self learning C++ out of "C++ without fear". There is an exercise dealing with the GCD of 2 numbers that asks to print "GCD(a,b) =>" at each step in the proceedure. I was able to get this working:

int gcd (int a, int b);

int main() {
    int i,j;
    cout << "Enter the first integer" << endl;
    cin >> i;
    cout << "Enter the second integer" << endl;
    cin >> j;
    int k = gcd(i,j);
    cout << "The GCD is " << k << endl; 
    system("PAUSE");
    return 0;
}

int gcd (int a, int b){
    if(b==0){
        cout << "GCF(" << a;
        cout << "," << b;
        cout << ") => " <<endl;
        return a;
    }
    else {
        cout << "GCF(" << a;
        cout << "," << b;
        cout << ") => " << endl;
        return gcd(b,a%b);
    }
}

I was just wondering if there is a nicer way to go about printing each step of finding the GCD. That is, is there a "nicer" way to write this part of the code:

     cout << "GCF(" << a;
     cout << "," << b;
     cout << ") => " << endl;

? Thanks in advance.

Upvotes: 1

Views: 17763

Answers (3)

MD Mahmudul Hasan
MD Mahmudul Hasan

Reputation: 389

try this one

#include<iostream>
#include<conio.h>
using namespace std;

int main(){
  cout << 6+2 <<"\n" << 6-2;
} 

Upvotes: 0

nonsensickle
nonsensickle

Reputation: 4528

It is not C++ but you could use the C way of printing it which in my opinion looks better in this situation because there are far fewer stream operators, << in the way.

#include <cstdio>

printf("GCF(%d, %d) =>\n", a, b);

But this is a C way of doing things... You could use something like boost::format as is mentioned in this SO answer.

Upvotes: 0

l-l
l-l

Reputation: 3854

You can do something like:

     cout << "GCF(" << a << ',' << b << ") =>" << endl;

Upvotes: 1

Related Questions