Smoothing data in a way that doesn't distort the underlying information can be a very non-trivial task. The first thing I would recommend is to "hit the books", actually one book in particular:
"Exploratory Data Analysis" by John W. Tukey
This book deals with data smoothing extensively with a number of different types of examples. Once you understand the principles involved, writing routines to actually do the smoothing is very easy--Plus I can provide some that I use myself.
For a copy of this book check any good engineering library, or ask a statistician friend if he has a copy of "the red book".
Mike...