Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<windows.h>
- #include<conio.h>
- #include<stdio.h>
- #include <cstdlib>
- #include <ctime>
- char intr;
- int A[1000];
- int B[1000];
- int C[1000];
- int D[1000];
- int Rez[1000];
- int Rez1[1000];
- int exit3=0;
- int sum, gran, dif, multi, m, b;
- int doping=0;
- int first=0;
- int exit4=0;
- int second=0;
- int i=0;
- int a=0;
- int end1=0;
- int end2=0;
- int nul1=0;
- int nul2=0;
- bool exit1=false;
- bool exit2=false;
- int minus1=0;
- int minus2=0;
- void comp()
- {
- if (end1>end2)
- {
- first=1;
- }
- if (end2>end1)
- {
- second=1;
- }
- if (end1==end2)
- {
- for (int i=0; i<1000; i=i+1)
- {
- if (C[i]>D[i])
- {
- first=1;
- break;
- }
- if (C[i]<D[i])
- {
- second=1;
- break;
- }
- }
- }
- }
- void plus_a_b()
- {
- for (int i=999; i>-1; i=i-1)
- {
- sum=C[i]+D[i];
- if (sum>9)
- {
- Rez[i]=sum % 10;
- C[i-1]=C[i-1]+1;
- }
- else
- {
- Rez[i]=sum;
- }
- }
- for (int i=0; i<1000; i=i+1)
- {
- if (Rez[i]!=0)
- {
- gran=i;
- break;
- }
- }
- for (int j=gran; j<1000; j=j+1)
- {
- printf("%d", Rez[j]);
- }
- }
- void minus_a_b()
- {
- for (int i=999; i>-1; i=i-1)
- {
- if (C[i]>D[i])
- {
- dif=C[i]-D[i];
- Rez[i]=dif;
- }
- if (C[i]==D[i])
- {
- dif=C[i]-D[i];
- Rez[i]=dif;
- }
- if (C[i]<D[i])
- {
- C[i]=C[i]+10;
- dif=C[i]-D[i];
- Rez[i]=dif;
- C[i-1]=C[i-1]-1;
- }
- }
- for (int i=0; i<1000; i=i+1)
- {
- if (Rez[i]!=0)
- {
- gran=i;
- break;
- }
- }
- for (int j=gran; j<1000; j=j+1)
- {
- printf("%d", Rez[j]);
- }
- }
- void minus_b_a()
- {
- for (int i=999; i>-1; i=i-1)
- {
- if (D[i]>C[i])
- {
- dif=D[i]-C[i];
- Rez[i]=dif;
- }
- if (D[i]==C[i])
- {
- dif=D[i]-C[i];
- Rez[i]=dif;
- }
- if (D[i]<C[i])
- {
- D[i]=D[i]+10;
- dif=D[i]-C[i];
- Rez[i]=dif;
- D[i-1]=D[i-1]-1;
- }
- }
- for (int i=0; i<1000; i=i+1)
- {
- if (Rez[i]!=0)
- {
- gran=i;
- break;
- }
- }
- for (int j=gran; j<1000; j=j+1)
- {
- printf("%d", Rez[j]);
- }
- }
- void summa()
- {
- if (minus1==1 && minus2==0)
- {
- if (first==0 && second==0)
- {
- printf("0");
- }
- }
- if (minus1==0 && minus2==1)
- {
- if (first==0 && second==0)
- {
- printf("0");
- }
- }
- if (minus1==0 && minus2==0)
- {
- plus_a_b();
- }
- if (minus1==1 && minus2==1)
- {
- printf("-");
- plus_a_b();
- }
- if (minus1==1 && minus2==0)
- {
- if (first==1)
- {
- printf("-");
- minus_a_b();
- }
- }
- if (minus1==1 && minus2==0)
- {
- if (second==1 )
- {
- minus_b_a();
- }
- }
- if (minus1==0 && minus2==1)
- {
- if (first==1)
- {
- minus_a_b();
- }
- }
- if (minus1==0 && minus2==1)
- {
- if (second==1)
- {
- printf("-");
- minus_b_a();
- }
- }
- }
- void diff()
- {
- if (minus1==0 && minus2==0)
- {
- if (first==0 && second==0)
- {
- printf("0");
- }
- }
- if (minus1==1 && minus2==1)
- {
- if (first==0 && second==0)
- {
- printf("0");
- }
- }
- if (minus1==1 && minus2==0)
- {
- printf("-");
- plus_a_b();
- }
- if (minus1==0 && minus2==1)
- {
- plus_a_b();
- }
- if (minus1==1 && minus2==1)
- {
- if (first==1)
- {
- printf("-");
- minus_a_b();
- }
- }
- if (minus1==1 && minus2==1)
- {
- if (second==1 )
- {
- minus_b_a();
- }
- }
- if (minus1==0 && minus2==0)
- {
- if (first==1)
- {
- minus_a_b();
- }
- }
- if (minus1==0 && minus2==0)
- {
- if (second==1)
- {
- printf("-");
- minus_b_a();
- }
- }
- }
- void mult()
- {
- a=999;
- b=0;
- for (int h=0; h<1000; h=h+1)
- {
- Rez[h]=0;
- }
- if (first==1)
- {
- for (int j=999; j>-1; j=j-1)
- {
- for (int i=999; i>-1; i=i-1)
- {
- multi=C[i]*D[j]+doping;
- doping=0;
- Rez1[a]=multi % 10;
- doping=multi / 10;
- a=a-1;
- }
- for (int g=999; g>-1; g=g-1)
- {
- m=Rez1[g]+Rez[g];
- Rez[g]=(Rez1[g]+Rez[g]) % 10;
- m=m/10;
- Rez[g-1]=Rez[g-1]+m;
- }
- /*for (int u=0;u<1000;u++)
- {
- printf("%d", Rez[u]);
- }
- printf("\n");
- exit4=exit4+1;
- if (exit4==7)
- {
- break;
- break;
- }*/
- a=j-1;
- doping=0;
- for (int y=0; y<1000; y=y+1)
- {
- Rez1[y]=0;
- }
- }
- for (int p=0; p<1000; p=p+1)
- {
- if (Rez[p]!=0)
- {
- gran=p;
- break;
- }
- }
- for (int t=gran; t<1000; t=t+1)
- {
- printf("%d", Rez[t]);
- }
- }
- }
- void main()
- {
- printf("Enter number:");
- while (!exit1)
- {
- if (_kbhit())
- {
- switch(_getch())
- {
- case '-':
- minus1=1;
- printf("-");
- break;
- case '0':
- A[i]=0;
- i=i+1;
- end1=end1+1;
- printf("0");
- break;
- case '1':
- A[i]=1;
- i=i+1;
- end1=end1+1;
- printf("1");
- break;
- case '2':
- A[i]=2;
- i=i+1;
- end1=end1+1;
- printf("2");
- break;
- case '3':
- A[i]=3;
- i=i+1;
- end1=end1+1;
- printf("3");
- break;
- case '4':
- A[i]=4;
- i=i+1;
- end1=end1+1;
- printf("4");
- break;
- case '5':
- A[i]=5;
- i=i+1;
- end1=end1+1;
- printf("5");
- break;
- case '6':
- A[i]=6;
- i=i+1;
- end1=end1+1;
- printf("6");
- break;
- case '7':
- A[i]=7;
- i=i+1;
- end1=end1+1;
- printf("7");
- break;
- case '8':
- A[i]=8;
- i=i+1;
- end1=end1+1;
- printf("8");
- break;
- case '9':
- A[i]=9;
- i=i+1;
- end1=end1+1;
- printf("9");
- break;
- case 'x':
- exit1=true;
- break;
- }
- }
- }
- printf(" ");
- i=0;
- while (!exit2)
- {
- if (_kbhit())
- {
- switch(_getch())
- {
- case '-':
- minus2=1;
- printf("-");
- break;
- case '0':
- B[i]=0;
- i=i+1;
- end2=end2+1;
- printf("0");
- break;
- case '1':
- B[i]=1;
- i=i+1;
- end2=end2+1;
- printf("1");
- break;
- case '2':
- B[i]=2;
- i=i+1;
- end2=end2+1;
- printf("2");
- break;
- case '3':
- B[i]=3;
- i=i+1;
- end2=end2+1;
- printf("3");
- break;
- case '4':
- B[i]=4;
- i=i+1;
- end2=end2+1;
- printf("4");
- break;
- case '5':
- B[i]=5;
- i=i+1;
- end2=end2+1;
- printf("5");
- break;
- case '6':
- B[i]=6;
- i=i+1;
- end2=end2+1;
- printf("6");
- break;
- case '7':
- B[i]=7;
- i=i+1;
- end2=end2+1;
- printf("7");
- break;
- case '8':
- B[i]=8;
- i=i+1;
- end2=end2+1;
- printf("8");
- break;
- case '9':
- B[i]=9;
- i=i+1;
- end2=end2+1;
- printf("9");
- break;
- case 'x':
- exit2=true;
- break;
- }
- }
- }
- for (int i=0; i<1000; i++)
- {
- if (i>end1-1)
- {
- A[i]=0;
- nul1=nul1+1;
- }
- if (i>end2-1)
- {
- B[i]=0;
- nul2=nul2+1;
- }
- }
- for (int i=0; i<1000; i=i+1)
- {
- if (i<nul1)
- {
- C[i]=0;
- }
- else
- {
- C[i]=A[a];
- a=a+1;
- }
- }
- a=0;
- for (int i=0; i<1000; i=i+1)
- {
- if (i<nul2)
- {
- D[i]=0;
- }
- else
- {
- D[i]=B[a];
- a=a+1;
- }
- }
- comp();
- printf("\n");
- printf("choose (s - sum, d - diff, m - multiply, p - pow, f - factorial, r - sum between a and b):");
- scanf("%c", &intr);
- printf("\n");
- switch(intr)
- {
- case 's':
- summa();
- break;
- case 'd':
- diff();
- break;
- case 'm':
- printf(":-)");
- mult();
- break;
- }
- _getch();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement