File Edit Options Buffers Tools C Help int my_putstr(char *str); #include #include void my_putchar(char c); /*char *polonaise(char *stack, char *dest, long long taille) { char *polo; polo = malloc((sizeof(*stack) + sizeof(*dest)) * taille); while () { } return (polo); }*/ int str_is_op(char *str, int i) { if (str[i] == '+' || str[i] == '-' || str[i] == '/' || str[i] == '*' || str[i] == '%' || str[i] == '(' || str[i] == ')') { return (1); } else { return (0); } } char *parser(char *str, long long taille) { long long var1; long long var2; long long space; char *dest; char *stack; stack = malloc(sizeof(*stack)*taille + 1); dest = malloc(sizeof(*dest)*taille + 1); var1 = 0; var2 = 0; space = 0; while (str[var1 + var2]) { if (str_is_op(str, var1 + var2)) { my_putstr("stack "); my_put_nbr(var1); my_putchar('\n'); stack[var1++] = str[var1 + var2]; } else if (!str_is_op(str, var1 + var2)) { my_putstr("dest nb "); my_put_nbr(var2 + space); my_putchar('\n'); dest[space + var2++] = str[var1 + var2]; if (str_is_op(str, var1 + var2)) { my_putstr("dest space "); my_put_nbr(var2 + space); my_putchar('\n'); dest[var2 + space++] = ' '; } } } stack[var1] = '\0'; dest[var2] = '\0'; my_putstr(stack); my_putchar('\n'); my_putstr(dest); //return (polonaise(stack, dest, var1 + var2 + space)); return (0); } int main() { parser("1+2", 50); return (0); }