If you had the Swine flu 3 weeks ago you shouldn't be contagious anymore. The cough could be a lingering affect. My son had a lingering cough for weeks after getting the Swine flu but he also go pneumonia on top of that. You might want to get a chest x-ray and make sure it didn't turn into pneumonia. The smoking can suppress the immune system and make it take longer to heal, especially where your lungs are concerned. Get your ears checked out while you're at it. You may have an ear infection. I hope you feel better soon!
The cough can still be slightly contagious, but I believe that it's mostly macrophages that have eaten up the virus or virus infected cells.
I agree with April - see your doctor - I had the swine flu about a month ago and this past Monday was diagnosed with pneumonia and now on an antibiotic and starting to improve. I can tell you that I'm still extremely congested and tired. The doctor I saw said it's normal to feel so lethargic after this H1N1 virus. Everyone reacts differently though - so like April said - please get it checked!
By the way, just an FYI - I did not have a high fever with the swine flu and that's why I thought I just had the regular flu. I think the highest it went was 99.6. So, not everyone gets a high fever with it. Even with the pneumonia I did not have a fever - it was 96.4 to 96.8 and I thought that was odd. So, this bug is reacting differently on different people.
I still have the cough and at my checkup my lungs are clear. It lasts a really really long time and is annoying to be honest .. it's that tickle and then a cough.