OK. I'll suggest that you eliminate the "delay(5)" that you added. It will only add confusion later as you get this setup working.
Based on what you've posted so far, my impressions are that you don't have much experience in acquiring audio data with an analog input, and that you're not particularly familiar with the Fourier transform. I also think that you're using an Uno, and that you're a skilled English speaker. Are those impressions correct?
I'd also like to know what your objectives are with this post. Are you hoping to gain insight into the Arduino and the Fourier transform, or are you in a hurry to just get it working? For now, I'm going to take it that you yearn for knowledge for its own sake, and progress slowly, with you doing work and analysis at each step. If that doesn't suit your goals, please say so.
And, I'd like to get an idea of your familiarity with the concept of a logarithm, and an idea of your level of skill at designing and analyzing electrical circuits.
I'll strongly recommend that you refrain from using an audio signal as your input for now. An audio signal goes both positive and negative, and the Arduino's analog inputs are only able to deal with positive signals that are less than 5 volts. If you connect an audio signal directly to an analog input, or even through a resistor, the negative voltage that exists during part of the audio cycle can damage or destroy the analog input. Shortly, we'll work out some simple hardware that will let you safely connect an audio source to your Arduino.
My experience tells me that destruction is unlikely if the signal voltage isn't particularly high and the source isn't particularly powerful - maybe it comes from an iPod, as opposed to, say, the speaker output of a 100-watt amplifier - and it hasn't been connected for a long time. Odds are that your Arduino is fine. If you want to test it, you can write a sketch to read the analog input, print its value to the terminal, delay for a bit, and do it all again. Then run the sketch while you connect the analog input to GND, 3.3V, and 5V, and observe that the readings are what you'd expect.
Back to your question. I'd recommend that you examine the analog data that you've acquired, before it's processed, to determine whether the data is what you think it is. An easy way to do that is to print the contents of the array fht_input right after the acquisition is complete, and before fht_window() is executed. Please tell us what you see, and what you expected.
That may be a bit tricky, since the sketch you posted will run continuously, and will scroll data on the screen quickly and without limit. You can make it stop after one execution by inserting this line at the point where you'd like the processor to stop:
In this case, that might be right after you print the input data. That'll make the processor wait until the value 1 evaluates as false; it'll never happen, so this bit of code is the equivalent of halting the processor.
Finally, I see that the moderator has added [ code ]...[ /code ] tags to your post. That suggests to me that you haven't read the sticky post, "How to use this forum - please read.", found at the top of the topic listings in each section of the forum. Please read that post. It describes some housekeeping details that will make your posts clearer, and clarity will help you garner more and better responses.