Advertisement
PROFESSOR_AIH

Untitled

May 4th, 2023
742
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.31 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <string.h>
  4. #include <stdlib.h>
  5. #include <math.h>
  6. #include <ctype.h>
  7. int n,x,y;
  8. char ch;
  9. char s[10000],k[100];
  10. void substr()
  11. {
  12.     for(int i=x-1;i<y;i++)
  13.     {
  14.         printf("%c",s[i]);
  15.     }
  16.     printf("\n");
  17. }
  18. void sort()
  19. {
  20.     for(int i=x-1;i<y;i++)
  21.     {
  22.         for(int j=i+1;j<y;j++)
  23.         {
  24.             if(s[i]>s[j])
  25.             {
  26.                 ch=s[j];
  27.                 s[j]=s[i];
  28.                 s[i]=ch;
  29.             }
  30.         }
  31.     }
  32. }
  33. void reverse()
  34. {
  35.     char temp[10000];
  36.     int j=0;
  37.     for(int i=x-1;i<y;i++)
  38.     {
  39.         temp[j]=s[i];
  40.         j++;
  41.     }
  42.     for(int i=x-1;i<y;i++)
  43.     {
  44.         s[i]=temp[--j];
  45.     }
  46. }
  47. void pushback()
  48. {
  49.     strcat(s,k);
  50. }
  51. void popback()
  52. {
  53.     s[strlen(s)-1]='\0';
  54. }
  55. void print()
  56. {
  57.     printf("%c\n",s[x-1]);
  58. }
  59. void front()
  60. {
  61.     printf("%c\n",s[0]);
  62. }
  63. void back()
  64. {
  65.     printf("%c\n",s[strlen(s)-1]);
  66. }
  67. int main()
  68. {
  69.     int n,q;
  70.     scanf("%d %d",&n,&q);
  71.     scanf("%s",s);
  72.     while(q--)
  73.     {
  74.         char c[10000];
  75.         scanf("%s",c);
  76.         if(c[0]=='s' && c[1]=='u')
  77.         {
  78.             scanf("%d %d",&x,&y);
  79.             if(x>y)
  80.             {
  81.                 int z=y;
  82.                 y=x;
  83.                 x=z;
  84.             }
  85.             substr();
  86.         }
  87.         else if(c[0]=='s' && c[1]=='o')
  88.         {
  89.             scanf("%d %d",&x,&y);
  90.             if(x>y)
  91.             {
  92.                 int z=y;
  93.                 y=x;
  94.                 x=z;
  95.             }
  96.             sort();
  97.         }
  98.         else if(c[0]=='r' && c[1]=='e')
  99.         {
  100.             scanf("%d %d",&x,&y);
  101.             if(x>y)
  102.             {
  103.                 int z=y;
  104.                 y=x;
  105.                 x=z;
  106.             }
  107.             reverse();
  108.         }
  109.         else if(c[0]=='p' && c[1]=='u')
  110.         {
  111.             scanf("%s",k);
  112.             pushback();
  113.         }
  114.         else if(c[0]=='p' && c[1]=='o')
  115.         {
  116.             popback();
  117.         }
  118.         else if(c[0]=='p' && c[1]=='r')
  119.         {
  120.             scanf("%d",&x);
  121.             print();
  122.         }
  123.         else if(c[0]=='f' && c[1]=='r')
  124.         {
  125.             front();
  126.         }
  127.         else if(c[0]=='b' && c[1]=='a')
  128.         {
  129.             back();
  130.         }
  131.         //printf("%s\n",s);
  132.     }
  133.  
  134. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement