Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- string Substr(string a1, string a2)
- {
- string res;
- int l = MakeEqLength(a1,a2);
- res = a1;
- int i;
- string temp1;
- int temp;
- int tran = 0;
- int count = 0;
- bool flag = false;
- for (i = 0; i < l; i++)
- {
- temp = ((a1[i]-'0') - (a2[i]-'0'));
- if (temp < 0)
- {
- temp1=a1;
- a1=a2;
- a2=temp1;
- flag = true;
- break;
- }
- else if (temp > 0)
- break;
- else if (temp == 0)
- continue;
- }
- for (i = l - 1; i >= 0; i--)
- {
- temp = ((a1[i]-'0') - (a2[i]-'0')) - tran;
- if (temp < 0)
- {
- tran = 1;
- res[i]=temp+10+48;
- }
- else
- {
- tran = 0;
- res[i]=temp+48;
- }
- }
- while (res[0] == '0' && res.length() != 1) // erase leading zeros
- res.erase(0, 1);
- if (flag == true)
- {
- cout << "-";
- }
- return res;
- /*string res;
- int l = MakeEqLength(a1,a2);
- res = a1;
- int i;
- int temp;
- int tran = 0;
- int count = 0;
- bool flag = false;
- for (i = 0; i < l; i++)
- {
- temp = ((a1[i]-'0') - (a2[i]-'0'));
- if (temp < 0)
- {
- flag = true;
- break;
- }
- else if (temp > 0)
- break;
- else if (temp == 0)
- continue;
- }
- if (flag == true)
- {
- for (i = l - 1; i >= 0; i--)
- {
- temp = ((a2[i]-'0') - (a1[i]-'0')) - tran;
- if (temp < 0)
- {
- tran = 1;
- res[i]=temp+10+48;
- }
- else
- {
- tran = 0;
- res[i]=temp+48;
- }
- }
- }
- else
- {
- for (i = l - 1; i >= 0; i--)
- {
- temp = ((a1[i]-'0') - (a2[i]-'0')) - tran;
- if (temp < 0)
- {
- tran = 1;
- res[i]=temp+10+48;
- }
- else
- {
- tran = 0;
- res[i]=temp+48;
- }
- }
- }
- while (res[0] == '0' && res.length() != 1) // erase leading zeros
- res.erase(0, 1);
- if (flag == true)
- {
- cout << "-";
- }
- return res;*/
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement