Mercurial > repo
view Something.c @ 7867:0453c1aeb159
<hppavilion[1]> ` mv bin/culprits bin/innocent
author | HackBot |
---|---|
date | Fri, 06 May 2016 22:55:47 +0000 |
parents | 3ddb3ea01af1 |
children |
line wrap: on
line source
#include <stdio.h> #include <stdio.h> #include <stdlib.h> #include <string.h> // initialize the tape with 30,000 zeroes unsigned long long int tape[30000] = {0}; unsigned long long int registrar[3] = {0}; // R1, R2, and R3 // set the pointer to point at the left-most cell of the tape unsigned long long int* ptr = tape; void interpret(char* input) { char current_char; size_t i; size_t i2; size_t i3; size_t loop; int i4; time_t t; srand((unsigned) time(&t)); for (i = 0; input[i] != 0; i++) { current_char = input[i]; i4 = rand() % 7; if (i4 == 0) { ++ptr; } else if (i4 == 1) { --ptr; } else if (i4 == 2) { ++*ptr; } else if (i4 == 3) { --*ptr; } else if (i4 == 4) { putchar(*ptr); } else if (i4 == 5) { *ptr = getchar(); } else if (i4 == 6) { continue; } // More commands to come, the CIOL specs are not done } } int main( int argc, char *argv[] ) { interpret(argv[1]); // outputs input return 0; }