so is 45-50ºC normal for this pc ?

So yeah, that's normal with a stock cooler but I'd get a better cooler to reduce the CPU fan noise especially under load.

One of the best budget coolers is the Cryorig H7 (see pcpartpicker, Newegg etc. approx. $35USD).

I've used the Noctua NH-U12S or similar in some builds but they are $60+.

(and make sure the motherboard fan software is installed and the fan profile is optimized. roughly keep CPU below 75degC under load. I'm at 300RPM on the Noctua cooler in idle so that's DEAD SILENT then and barely noticeable under heavy load)
 


I will have to try that

And what about the GTX can a new cpu fan also fix this ?
 

What is wrong with the GTX?
A CPU fan has nothing to do with the graphics temps.

 


everything in the PC I listed is 45-50degC constant im talking about the motherboard, CPU and the GPU(GTX)
 

Where are you getting this temperature? can you post a screen capture showing this temp?

 
Most mobo/case temps should be running somewhere around 10-12°C above ambient at idle. Most times, even under load you shouldn't be going much above 40°C. If all of your components are showing higher temps, either you are subjecting the pc to higher ambient (think non-air conditioned Indian summer with nothing but fans and open windows) or, your pc case has abysmal airflow due to incorrect fan settings, lack of fans, bad fan placement. Fix the airflow and temps should drop, upto the limits of ability due to the ambient air temps.