How to combine faces of an array (roof)?
Delete the curve parts on the sides and keep the middle section (that is perpendicular to the "columns") then do bridge edge loops. You will be able to control the number of cuts and the curvature (smoothness)

Here's an example on how to connect two cylinder segments that have the same number of vertices, select the end edges and use Bridge Edge Loops, and adjust number of cut and smoothness.