You are on page 1of 4

Finding the bigger number in C++

Overview
The following code represents three different possibilities to find a bigger number between
two numbers in C++. As the input are strings, the numbers are not restricted to the int or
long data type size.

Code in C++11

One
string>
#include <
#include < iostream>
#include < sstream>

using namespace std;

string groessere(string i1, string i2){

0
int lengthDif = ;
string longer = " ", smaller = "";

if(i1.length() > i2.length()){


lengthDif = i1.length() - i2.length();
longer = i1;
smaller = i2;
}
else{
lengthDif = i2.length() - i1.length();
longer = i2;
smaller = i1;
}

for(unsigned i nt i = 0; i < lengthDif; i++){


if(longer[i] > '0') return longer;
}

for(unsigned int i = 0; i < smaller.length(); i++){


int a = (i1[i1.length() - i -1] -'0');
int b = (i2[i2.length() - i - 1] -'0');

< a << endl;


cout <
cout < < b <
< endl;

if( a > b )
r eturn i1;
else if(b > a) return i2;
}
return "Die Zahlen sind gleich";
}

int main() {
//erstens nutzereingabe
cout << "Insert the two numbers: " << endl;

//definieren der variablen


string erste, zweite;
cin >> erste;
cin >> zweite;

//vergleich der Zahlen


cout << "The bigger Number is:" << endl;
cout << groessere(erste, zweite);
}

Two
#include <string>
#include <iostream>
#include <sstream>
#include <cmath>

using namespace std;

int nullCheck(string s){

int result = 0;

for(unsigned int i = 0; i < s.length(); i++){


int a = 0;
a = s[i] - '0';

result += a * pow(10,(s.length()-1-i));
}

return result;
}

int groessere(int i1, int i2){


if( i1 > i2) return i1;
else return i2;
}

int main() {
//erstens nutzereingabe
cout << "Insert the two numbers: " << endl;

//definieren der variablen


string erste, zweite;
cin >> erste;
cin >> zweite;
//abgleichen der fuehrenden nullen
int i1 = nullCheck(erste);
int i2 = nullCheck(zweite);

//vergleich der Zahlen


cout << "The bigger Number is:" << endl;
cout << groessere(i1,i2);
}

Three
string>
#include <
#include < iostream>
#include < sstream>

using namespace std;

int nullCheck(string s){

bool works = false;

string final;

for(char c : s){
int a = c - '0';

if(a != 0 &
& !works){
works = true;
}

if(works){
final += c;
}
}

int result = 0;
stringstream(final) >> result;

return result;
}

int groessere(int i1, int i2){


if( i1 > i2) return i1;
else return i2;
}

int main() {
//erstens nutzereingabe
cout << "Insert the two numbers: " << endl;

//definieren der variablen


string erste, zweite;
cin >> erste;
cin >> zweite;

//abgleichen der fuehrenden nullen


int i1 = nullCheck(erste);
int i2 = nullCheck(zweite);

//vergleich der Zahlen


cout << "The bigger Number is:" << endl;
cout << groessere(i1,i2);
}

You might also like