Another quick little snippet. This is when you use it in a loop.
$my_post = array();
$my_post['ID'] = $post->ID;
$catarray = array(31); // 31 is the cat ID you want to assign
foreach((get_the_category($post->ID)) as $category) {
array_push($catarray, $category->cat_ID);
}
$my_post['post_category'] = $catarray;
wp_update_post( $my_post );