1#include <stdio.h> 2 3#define MAXWORD 32 4 5int 6main(argc, argv) 7int argc; 8char *argv[]; 9{ 10 register int len; 11 int inmap[MAXWORD]; 12 int outmap[MAXWORD]; 13 char in[MAXWORD]; 14 char out[MAXWORD]; 15 register int i; 16 register int a; 17 18 a = 1; 19 len = atoi(argv[a++]); 20 if (len > MAXWORD) 21 abort(); /* kind of drastic... */ 22 for (i = 0; i < len; i++) 23 inmap[i] = atoi(argv[a++]); 24 if (atoi(argv[a++]) != len) 25 abort(); 26 for (i = 0; i < len; i++) 27 outmap[i] = atoi(argv[a++]); 28 29 while (fread(in, 1, len, stdin) == len) { 30 for (i = 0; i < len; i++) 31 out[outmap[i]] = in[inmap[i]]; 32 fwrite(out, 1, len, stdout); 33 } 34#ifdef DBZ_FINISH 35 DBZ_FINISH; 36#endif 37 exit(0); 38} 39