Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- void sum_p(const string &A, const string &B, string &ans) {
- int G = 0;
- int i = 1;
- for (; i < min(A.size(), B.size()); i++) {
- int a, b;
- a = A[i] - '0';
- b = B[i] - '0';
- int s = G + a + b;
- ans += (s % 10) + '0';
- G = s / 10;
- }
- if (i < A.size()) {
- for (; i < A.size(); i++) {
- int a = A[i] - '0';
- int s = G + a;
- ans += (s % 10) + '0';
- G = s / 10;
- }
- } else if (i < B.size()) {
- for (; i < B.size(); i++) {
- int b = B[i] - '0';
- int s = G + b;
- ans += (s % 10) + '0';
- G = s / 10;
- }
- }
- if (G) {
- ans += G + '0';
- }
- }
- // |A| + |B|
- // кладут в анс ответ, НО БЕЗ ЗНАКА
- void sub_p(const string &A, const string &B, string &ans) {
- }
- // |A| > |B| -- обязательное условие
- // |A| - |B|
- bool compare(const string &A, const string &B) {
- }
- // |A| > |B|
- string sum(const string &A, const string &B) {
- int sgnA, sgnB;
- if (A[0] == '-') {
- sgnA = -1;
- } else {
- sgnA = 1;
- }
- if (B[0] == '-') {
- sgnB = -1;
- } else {
- sgnB = 1;
- }
- string ans;
- if (sgnA == 1 && sgnB == 1) {
- ans += '+';
- sum_p(A, B, ans);
- } else if (sgnA == -1 && sgnB == -1) {
- ans += '-';
- sum_p(A, B, ans);
- } else if (sgnA == 1) {
- if (compare(A, B) == 1) {
- ans += '+';
- sub_p(A, B, ans);
- } else {
- ans += '-';
- sub_p(B, A, ans);
- }
- } else {
- if (compare(A, B) == 1) {
- ans += '-';
- sub_p(A, B, ans);
- } else {
- ans += '+';
- sub_p(B, A, ans);
- }
- }
- return ans;
- }
- string sub(const string &A, const string &B) {
- }
- void input_num(string &s) {
- string tmp;
- cin >> tmp;
- if (tmp[0] == '-') {
- s += '-';
- for (int i = tmp.size() - 1; i > 0; --i) {
- s += tmp[i];
- }
- } else {
- s += '+';
- for (int i = tmp.size() - 1; i >= 0; --i) {
- s += tmp[i];
- }
- }
- }
- void print(const string &s) {
- if (s[0] == '-') {
- cout << "-";
- }
- for (int i = s.size() - 1; i > 0; --i) {
- cout << s[i];
- }
- }
- int main() {
- string a, b;
- input_num(a);
- input_num(b);
- string s = sum(a, b);
- print(s);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement