for example, i want to combine two number 6 and 8 and it will equal 68. is this possible in C?

int a = 6, b = 8,c;
c=ab;

and c will = 68.

Yes it is possible, but not the way you have shown. Your assignment statement assigns the value of the variable ab to the variable c. The variable ab has not been defined.

It also depends a lot on what you mean by combine. What do you want to happen if a==56 and b==24? Similarly for a==25 and b==5? Or a=='6' (the character displayed as 6) and b=='8'?

So please explain what the "larger" problem or context is?

Yes, it's possible. It would be something like this...

int multiplier = /* multiply by 10, 100, 1000, whatever based on the number of digits in b */
int combine = (multiplier * a) + b;

Your job is to figure out how many digits b has. There are a few ways to do that. log10 and pow from cmath might help, and / or use the / and % operators in a loop to figure it out or write your own helper function(s). Or perhaps use the itoa function if available or the snprintf(or sprintf if you're careful) function to turn b into a string, then take the length of that string.

I want to implement undo logic which deletes the last drawn shape. To test this logic i had cleared shapes list and redrawn all shapes but still last ...