It's difficult to be certain what the problem you have is, since you don't really tell us: "program doesn't give the output" is not exactly diagnostic.
So: I'll explain a couple of obvious nasties, and then move on to how to cure it. Be aware though, that I am not going to fix it for you - it's your homework, it's your job to fix it!
1) Minor, but important. Don't just prompt the user for "Input:". Ask him to enter the number to convert, the base it is in, and then the base he wants. A lot nicer for the user!
2) Goto. Please remove this from your code, and forget for two years that it ever existed. After that, you should understand why beginners should never use it. Trust me on this.
3) This code may never exit. Or at least, not in a reasonable timescale.
for( j=48;m>=0;j--)
{
r= m%t;
m= m/t;
Why not? Answer: what is the result of zero divided by a non-zero number?
4) Please, do yourself a favour: rename your variables to be descriptive of what they actually are there for. Using single character names save you typing, but in two weeks time, it will cause serious head-scratchiong as you try to work out if j is supposed to be the interim result of trying a conversion to a base, or a loop counter. Again, trust me on this!
Now: fixing it.
Kick up the debugger.
Place a breakpoint on the first line after the two scanf calls:
m=cnvrtdeci(&num[0], base);
Run your program until the breakpoint is hit.
Look at you variables "num" and "base". Work out in your own mind what value should be in "m" after cnvrtdeci has been called. Now single step the debugger over the call. Is the value of "m" what you thought it would be?
If not, why is it different? Restart the program, and this time step into the routine.
Keep doing this: Work out what you expect, then see if you get it. If you do, good! If you don't, why not?
You will be doing this a lot in development - it is well worth getting comfortable doing it now!
Good luck!