Advertisement
audreych

12930 - Number String Process

Jan 24th, 2021
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.33 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. char buf[1005];
  4. long long int total = 0;
  5.  
  6. void take_num(int a, int b, int sz, int length){
  7.     long long int numA = 0;
  8.     long long int numB = 0;
  9.     total = 0;
  10.     // take numB and remove b first, because it is easier to remove it
  11.     for(int i = b; i < length; i++){
  12.         if (i < b + sz){
  13.             numB = numB*10 + (buf[i] - '0');
  14.             //printf("numB = %d, i = %d, buf[i] = %c\n", numB, i, buf[i]); 
  15.         }
  16.     }
  17.     // remove
  18.     for(int i = b; i < length - sz; i++){
  19.         buf[i] = buf[i + sz];
  20.         //printf("%c", buf[i]);
  21.     }
  22.     //printf("\n");
  23.     length = length - sz;
  24.     //continue this
  25.     for(int i = a; i < length; i++){
  26.         if (i < a + sz){
  27.             // parse
  28.             numA = numA*10 + (buf[i] - '0');
  29.             //printf("numA = %d, i = %d, buf[i] = %c\n", numA, i, buf[i]);
  30.         }
  31.     }
  32.     for(int i = a; i < length - sz; i++){
  33.         buf[i] = buf[i+sz];
  34.     }
  35.     length = length - sz;
  36.     /*for(int i = 0; i < length; i++){
  37.         printf("%c", buf[i]);
  38.     }*/
  39.     total = numA * numB;
  40.     return;
  41. }
  42.  
  43. int main(){
  44.     int length;
  45.     scanf("%d", &length);
  46.     scanf("%s", buf);
  47.     /*for(int i = 0; i < length; i++){
  48.         printf("%c ", buf[i]);
  49.     }*/
  50.     int q;
  51.     scanf("%d", &q);
  52.     while(q--){
  53.         int a, b, sz;
  54.         scanf("%d %d %d", &a, &b, &sz);
  55.         take_num(a, b, sz, length);
  56.         // make a function where the string size decresse in size and everything
  57.         printf("%lld\n", total);
  58.        
  59.     }
  60.     return 0;
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement