Advertisement
Patrickmeme

Untitled

Mar 31st, 2023
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.10 KB | None | 0 0
  1. #include <fstream>
  2. using namespace std;
  3. ifstream cin("anaf.in");
  4. ofstream cout("anaf.out");
  5. #define NMAX 10000
  6. int v[NMAX];
  7. int main(){
  8.     int n, i, t, nr, nrc, j;
  9.     char c, aux;
  10.     cin.get(c);
  11.     nr = 0;
  12.     while(c != '\n'){
  13.         v[nr] = c - '0';
  14.         nr++;
  15.         cin.get(c);
  16.     }
  17.     t = nr - 1;
  18.     i = 0;
  19.     while(i < t){
  20.         aux = v[i];
  21.         v[i] = v[t];
  22.         v[t] = aux;
  23.         i++;
  24.         t--;
  25.     }
  26.     while(nr > 0 && v[nr - 1] == 0){
  27.         nr--;
  28.     }
  29.     cin>>n;
  30.     cin.get();
  31.     for(j = 0;j<n;j++){
  32.         cin.get(c);
  33.         cin>>nrc;
  34.         switch(c){
  35.         case '+':
  36.             for(i = 0;i<nr;i++){
  37.                 nrc+=v[i];
  38.                 v[i] = nrc % 10;
  39.                 nrc /= 10;
  40.             }
  41.             while(nrc > 0){
  42.                 v[nr] = nrc % 10;
  43.                 nrc /= 10;
  44.                 nr++;
  45.             }
  46.             break;
  47.         case '*':
  48.             t = 0;
  49.             for(i = 0;i<nr;i++){
  50.                 t+= nrc * v[i];
  51.                 v[i] = t % 10;
  52.                 t /= 10;
  53.             }
  54.             while(t > 0){
  55.                 v[nr] = t % 10;
  56.                 t /= 10;
  57.                 nr++;
  58.             }
  59.             break;
  60.         case '/':
  61.             t = 0;
  62.             for(i = nr - 1;i>= 0;i--){
  63.                 t = t * 10 + v[i];
  64.                 v[i] = t / nrc;
  65.                 t %= nrc;
  66.             }
  67.             while(nr > 0 && v[nr - 1] == 0){
  68.                 nr--;
  69.             }
  70.             break;
  71.         case '%':
  72.             t = 0;
  73.             for(i = nr - 1;i>= 0;i--){
  74.                 t = t * 10 + v[i];
  75.                 v[i] = t % nrc;
  76.                 t %= nrc;
  77.             }
  78.             i = 0;
  79.             while(t > 0){
  80.                 v[i] = t % 10;
  81.                 t /= 10;
  82.                 i++;
  83.             }
  84.             nr = i;
  85.             break;
  86.         }
  87.         cin.get(c);
  88.     }
  89.     cin.close();
  90.     if(nr == 0){
  91.         cout<<0;
  92.     }else{
  93.         for(i = nr - 1;i>= 0;i--){
  94.             cout.put('0' + v[i]);
  95.         }
  96.     }
  97.     cout.close();
  98. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement