int main(int argc, char** argv) { char def[] = "7316717653133062491922511967442657474235534919493496983520312774506326239578318016984801869478851843858615607891129494954595017379583319528532088055111254069874715852386305071569329096329522744304355766896648950445244523161731856403098711121722383113622298934233803081353362766142828064444866452387493035890729629049156044077239071381051585930796086670172427121883998797908792274921901699720888093776657273330010533678812202354218097512545405947522435258490771167055601360483958644670632441572215539753697817977846174064955149290862569321978468622482839722413756570560574902614079729686524145351004748216637048440319989000889524345065854122758866688116427171479924442928230863465674813919123162824586178664583591245665294765456828489128831426076900422421902267105562632111110937054421750694165896040807198403850962455444362981230987879927244284909188845801561660979191338754992005240636899125607176060588611646710940507754100225698315520005593572972571636269561882670428252483600823257530420752963450"; char * data = (argc > 1 ? argv[1] : def); int len = strlen(data); int i; if (len < CHAINSIZE) { printf("The string number be longer than the chain size %d\n", CHAINSIZE); return 1; } for (i = 0; i < CHAINSIZE; ++i) { data[i] = parsechar(data[i]); } int max, v, istore; max = valueat(data, CHAINSIZE); istore = CHAINSIZE; for (i = CHAINSIZE; i < len; ++i) { data[i] = parsechar(data[i]); v = valueat(data, i); istore = v > max ? i : istore; max = v > max ? v : max; } printf("Max is %d at posiiton %d\n", max, istore); return 0; }
int main(int argc, char *argv[]) { int i,item; #ifdef __STACK_CHECK__ _beginStackCheck(); atexit(stackResults); #endif ioctl(STDIN_FILENO,TIOCGETP,&sg); ioctl(STDIN_FILENO,TIOCGETC,&tc); ioctl(STDIN_FILENO,TIOCGLTC,<c); ioctl(STDIN_FILENO,TIOCLGET,&localmode); ioctl(STDIN_FILENO,TIOCGWINSZ,&wz); if (argc < 2) { printCurSettings(); exit(0); } for (i = 1; i < argc;) { switch (item = lookup(argv[i])) { case INTR_C: tc.t_intrc = parsechar(argv[i+1]); i++; break; case SUSP_C: ltc.t_suspc = parsechar(argv[i+1]); i++; break; case DSUSP_C: ltc.t_dsuspc = parsechar(argv[i+1]); i++; break; case STOP_C: tc.t_stopc = parsechar(argv[i+1]); i++; break; case START_C: tc.t_startc = parsechar(argv[i+1]); i++; break; case QUIT_C: tc.t_quitc = parsechar(argv[i+1]); i++; break; case ERASE_C: sg.sg_erase = parsechar(argv[i+1]); i++; break; case EOF_C: tc.t_eofc = parsechar(argv[i+1]); i++; break; case WERASE_C: ltc.t_werasc = parsechar(argv[i+1]); i++; break; case FLUSH_C: ltc.t_flushc = parsechar(argv[i+1]); i++; break; case LNEXT_C: ltc.t_lnextc = parsechar(argv[i+1]); i++; break; case RPRNT_C: ltc.t_rprntc = parsechar(argv[i+1]); i++; break; case ECHO_ON: sg.sg_flags |= ECHO; break; case ECHO_OFF: sg.sg_flags &= ~ECHO; break; case RAW_OFF: sg.sg_flags &= ~RAW; break; case RAW_ON: sg.sg_flags |= RAW; break; case CBREAK_OFF: sg.sg_flags &= ~CBREAK; break; case CBREAK_ON: sg.sg_flags |= CBREAK; break; case CRMOD_OFF: sg.sg_flags &= ~CRMOD; break; case CRMOD_ON: sg.sg_flags |= CRMOD; break; case LCTLECH_ON: localmode |= LCTLECH; break; case LCTLECH_OFF: localmode &= ~LCTLECH; break; case LCRTERA_ON: localmode |= LCRTERA; break; case LCRTERA_OFF: localmode &= ~LCRTERA; break; default: if ((item != 0) && (item <= B38400)) { sg.sg_ispeed = item; sg.sg_ospeed = item; } else usage(); break; } i++; } ioctl(STDIN_FILENO,TIOCSETP,&sg); ioctl(STDIN_FILENO,TIOCSETC,&tc); ioctl(STDIN_FILENO,TIOCSLTC,<c); ioctl(STDIN_FILENO,TIOCLSET,&localmode); }