Name:
Anonymous
2010-12-25 13:53
#include <stdlib.h>
#include <stdio.h>
#include <stdbool.h>
#include <gmp.h>
#include <unistd.h>
int main(int argc, char *argv[])
{
enum
{
BASE = 10,
N_ARGS = 3,
ZERO = 0,
UNO = 1,
DOS = 2
};
auto mpz_t x;
auto mpz_t y;
auto bool ret_val;
ret_val = true;
if (argc != N_ARGS)
{
ret_val = false;
goto BYE;
}
mpz_init(x);
mpz_init(y);
if (mpz_set_str(x, argv[UNO], BASE) != ZERO || mpz_set_str(y, argv[DOS], BASE) != ZERO)
{
ret_val = false;
goto CLEAN;
}
mpz_add(x, x, y);
if (mpz_out_str(NULL, BASE, x) == ZERO || printf("\n") <= ZERO)
ret_val = false;
CLEAN:
mpz_clear(x);
mpz_clear(y);
BYE:
return (!ret_val) ? EXIT_FAILURE : EXIT_SUCCESS;
}
Name:
Anonymous
2010-12-25 13:58
This would be much easier in Java.
Name:
Anonymous
2010-12-25 14:00
Uno and DOS? Back to the 80s, please.
Name:
Anonymous
2010-12-25 14:54
If you tried to explain your problem it'd help.
>>4
No pibe, aca no se habla castellano. Escribí en inglés o andate.
PD: Tampoco sabés catellano, cero se escribe con c, de casa.
Name:
Anonymous
2010-12-25 20:22
>>3
I prefer EINE Is Not Editor MACroS and ZWEI Was EINE Is Not Editor MACroS, Initially.
Name:
Anonymous
2010-12-26 6:31
Holy shit, this is the safest code I have ever seen in C.
It's just like Java!
Name:
Anonymous
2010-12-26 18:13
#include <stdlib.h>
#include <stdio.h>
typedef struct brainfuck_type
{
unsigned char *array;
unsigned char *p;
} brainfuck_t;
brainfuck_t *new_brainfuck(int n
{
brainfuck_t *bf = (brainfuck_t *)malloc(sizeof(brainfuck_t));
bf->array = (unsigned char *)malloc(sizeof(unsigned char) * n);
bf->p = bf->array;
return bf;
}
void free_brainfuck(brainfuck_t *bf)
{
free(bf->array);
free(bf);
}
void brainfuck_op(brainfuck_t *bf, char op)
{
switch(op)
{
case '+': *(bf->p) = *(bf->p) + 1; break;
case '-': *(bf->p) = *(bf->p) - 1; break;
case '>': bf->p = bf->p + 1; break;
case '<': bf->p = bf->p - 1; break;
case '.': printf("%d", *(bf->p)); break;
}
}
int main(int argc, char **argv)
{
int a = atoi(argv[1]);
int b = atoi(argv[2]);
brainfuck_t *bf = new_brainfuck(30000);
while (a)
{
a--;
brainfuck_op(bf, '+');
}
brainfuck_op(bf, '>');
while (b)
{
b--;
brainfuck_op(bf, '+');
}
brainfuck_op(bf, '<');
while (*(bf->p))
{
brainfuck_op(bf, '-');
brainfuck_op(bf, '>');
brainfuck_op(bf, '>');
brainfuck_op(bf, '+');
brainfuck_op(bf, '>');
brainfuck_op(bf, '+');
brainfuck_op(bf, '<');
brainfuck_op(bf, '<');
brainfuck_op(bf, '<');
}
brainfuck_op(bf, '>');
brainfuck_op(bf, '>');
brainfuck_op(bf, '>');
while (*(bf->p))
{
brainfuck_op(bf, '-');
brainfuck_op(bf, '<');
brainfuck_op(bf, '<');
brainfuck_op(bf, '<');
brainfuck_op(bf, '+');
brainfuck_op(bf, '>');
brainfuck_op(bf, '>');
brainfuck_op(bf, '>');
}
brainfuck_op(bf, '<');
brainfuck_op(bf, '<');
while (*(bf->p))
{
brainfuck_op(bf, '-');
brainfuck_op(bf, '>');
brainfuck_op(bf, '+');
brainfuck_op(bf, '>');
brainfuck_op(bf, '+');
brainfuck_op(bf, '<');
brainfuck_op(bf, '<');
}
brainfuck_op(bf, '>');
brainfuck_op(bf, '>');
while (*(bf->p))
{
brainfuck_op(bf, '-');
brainfuck_op(bf, '<');
brainfuck_op(bf, '<');
brainfuck_op(bf, '+');
brainfuck_op(bf, '>');
brainfuck_op(bf, '>');
}
brainfuck_op(bf, '<');
brainfuck_op(bf, '<');
brainfuck_op(bf, '<');
printf("The sum of ");
brainfuck_op(bf, '.');
brainfuck_op(bf, '>');
printf(" and ");
brainfuck_op(bf, '.');
brainfuck_op(bf, '>');
printf(" is ");
brainfuck_op(bf, '.');
printf("\n");
free_brainfuck(bf);
return 0;
}
Name:
Anonymous
2010-12-26 18:33
>>10
Congratulations, you implemented the part of a brainfuck compiler that even my mother would be able to code.
Now do
brainfuck_t *bf = new_brainfuck(3000); eval_brainfuck(",[.,]");
Name:
Anonymous
2010-12-26 18:40
>>11
That's not funny, my brother died that way.
Name:
Anonymous
2010-12-26 18:46
>>12
I feel for you, bro. My family died in a
cdr accident ;_;.