diff options
author | Raphael McSinyx <vn.mcsinyx@gmail.com> | 2017-01-02 20:37:59 +0700 |
---|---|---|
committer | Raphael McSinyx <vn.mcsinyx@gmail.com> | 2017-01-02 20:37:59 +0700 |
commit | 57d767cf4e4d5b83645bda2c4e398fdd76d059e1 (patch) | |
tree | 557cc70d5dc663b5ee3bef2be4d749ddc3cfbc4c /others/easy20160714/16.c | |
parent | 7206ecee7579a10dd347d06b397b3790e969f8f3 (diff) | |
download | cp-57d767cf4e4d5b83645bda2c4e398fdd76d059e1.tar.gz |
Update others/easy20160714
Diffstat (limited to 'others/easy20160714/16.c')
-rw-r--r-- | others/easy20160714/16.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/others/easy20160714/16.c b/others/easy20160714/16.c new file mode 100644 index 0000000..33334cd --- /dev/null +++ b/others/easy20160714/16.c @@ -0,0 +1,28 @@ +#define _GNU_SOURCE +#include <stdio.h> +#include <string.h> + +int main() +{ + FILE *fi = fopen("INP.TXT", "r"), *fo = fopen("OUT.TXT", "w"); + unsigned char n, i, j, s[256], sx[256], x, y; + + fscanf(fi, "%s %hhd\n", s, &n); + + for (i = 0; i < n; i++) + if (fgetc(fi) ^ 49) { + fscanf(fi, " %hhd %hhd\n", &x, &y); + x--; + memmove(s + x, s + x + y, strlen(s) - x - y + 1); + fprintf(fo, "%s\n", s); + } else { + fscanf(fi, " %s %hhd\n", sx, &y); + strcpy(sx + strlen(sx), s + y); + strcpy(s + y, sx); + fprintf(fo, "%s\n", s); + } + + fcloseall(); + + return 0; +} |