Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <conio.h>
- #include <cstdlib>
- using namespace std;
- int fac(char* n) {
- int i, m=0;
- for (i = 0; i < 14; i++) {
- if ((*(n+i))!=' '&&(*(n+i))!='\0') {
- m = m + 1;
- }
- }
- return m;
- }
- void tanme1(char* n1,char* n2,char* n3, int z1) {
- int i, j, x1, x2, x3, k;
- for (i = z1-1, k=0; i>=0; i--){
- if(*(n1+i)=='A'||*(n1+i)=='B') x1=*(n1+i)-'A'+10; else x1=*(n1+i)-'0';
- if(*(n2+i)=='A'||*(n2+i)=='B') x2=*(n2+i)-'A'+10; else x2=*(n2+i)-'0';
- x3=x1+x2+k; k=0;
- if (x3>=12) {x3-=12; k=1;}
- if (x3 >= 0&&x3<=9) *(n3+i)=x3+'0';
- else *(n3+i)=x3+'A'-10;
- if (i==0&&k!=0) {for(j=14; j>=0; j--) *(n3+j+1)=*(n3+j); *(n3+i)=k+'0';}
- }
- }
- void tanme2(char* n1,char* n2,char* n3, int z1, int* z2) {
- int i, j, x1, x2, x3, k;
- for (j = 0; j<=z1-1; j++){
- if(*(n1+j)=='A'||*(n1+j)=='B') x1=*(n1+j)-'A'+10; else x1=*(n1+j)-'0';
- if(*(n2+j)=='A'||*(n2+j)=='B') x2=*(n2+j)-'A'+10; else x2=*(n2+j)-'0';
- if(x1>x2)break;
- else if(x1<x2){*z2=1;break;}
- }
- for (i = z1-1, k=0; i>=0; i--){
- if(*(n1+i)=='A'||*(n1+i)=='B') x1=*(n1+i)-'A'+10; else x1=*(n1+i)-'0';
- if(*(n2+i)=='A'||*(n2+i)=='B') x2=*(n2+i)-'A'+10; else x2=*(n2+i)-'0';
- if(*z2==0) x3=x1-x2-k;
- else if(*z2==1) x3=x2-x1-k;
- k=0;
- if (x3<0) {x3+=12; k=1;}
- if (x3 >= 0&&x3<=9) *(n3+i)=x3+'0';
- else *(n3+i)=x3+'A'-10;
- }
- }
- int _tmain(int argc, _TCHAR* argv[]) {
- int q1=0, q2=0, b1=0, i, j, x, y, z2=0;
- char v;
- char var4[20] = {""};
- char var3[20] = {""};
- char var2[20] = {""};
- char var1[20] = {""};
- cout << "chislo1:";
- gets(var1);
- cout << "chislo2:";
- gets(var2);
- if (var1[0]=='-') {q1=1; for(i=1; i<15; i++) var1[i-1]=var1[i];}
- if (var2[0]=='-') {q2=1; for(i=1; i<15; i++) var2[i-1]=var2[i];}
- x=fac(var1); y=fac(var2);
- if (x>y) {
- for (i=0; i <x-y; i++) {for(j=15-x+y; j>=0; j--) var2[j+1]=var2[j]; var2[i]='0';}
- }
- else {
- for (i=0; i <y-x; i++) {for(j=15-y+x; j>=0; j--) var1[j+1]=var1[j]; var1[i]='0';}
- }
- cout << endl;
- for (i = 0; i < 15; i++) {
- cout << var1[i] ;
- }
- cout << endl;
- for (i = 0; i < 15; i++) {
- cout << var2[i] ;
- }
- cout << endl;
- cout << "---------------------------" << endl;
- if (q1==1&&q2==1) {tanme1(var1,var2,var3,fac(var1));
- for(j=14; j>=0; j--) var3[j+1]=var3[j];var3[0]='-';
- tanme2(var2,var1,var4,fac(var1),&z2);
- if(z2==1){for(j=14; j>=0; j--) var4[j+1]=var4[j];var4[0]='-';}}
- if (q1==0&&q2==0) {tanme1(var1,var2,var3,fac(var1));
- tanme2(var1,var2,var4,fac(var1),&z2);
- if(z2==1){for(j=14; j>=0; j--) var4[j+1]=var4[j];var4[0]='-';}}
- if (q1==1&&q2==0) {tanme2(var2,var1,var3,fac(var1),&z2);
- if(z2==1){for(j=14; j>=0; j--) var3[j+1]=var3[j];var3[0]='-';}
- tanme1(var1,var2,var4,fac(var1));
- for(j=14; j>=0; j--) var4[j+1]=var4[j];var4[0]='-';}
- if (q1==0&&q2==1) {tanme2(var1,var2,var3,fac(var1),&z2);
- if(z2==1){for(j=14; j>=0; j--) var3[j+1]=var3[j];var3[0]='-';}
- tanme1(var1,var2,var4,fac(var1));}
- for (i = 0; i < 15; i++) {
- cout << var3[i] ;
- }
- cout << endl;
- for (i = 0; i < 15; i++) {
- cout << var4[i] ;
- }
- getch();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement