Here is the solution without using any web resources. I tried to make it as simple as I could.
Code:
{assign var="columns" value=3}
{assign var="i" value=0}
{assign var="totalmanufacturers" value=$manufacturers|@count}
{if $manufacturers}
{if $columns gt 0}
{assign var="rowloop" value=$totalmanufacturers/$columns}
{assign var="restloop" value=$totalmanufacturers%$columns}
<table>
{section name=rows loop=$rowloop}
<tr>
{section name=rowname loop=$columns}
<td>{$manufacturers[$i].name}</td>
{assign var="i" value=$i+1}
{/section}
</tr>
<tr>
{assign var="i" value=$i-$columns}
{section name=rowproducts loop=$columns}
<td>{$manufacturers[$i].products}</td>
{assign var="i" value=$i+1}
{/section}
</tr>
{/section}
<tr>
{section name=rowname loop=$restloop}
<td>{$manufacturers[$i].name}</td>
{assign var="i" value=$i+1}
{/section}
</tr>
<tr>
{assign var="i" value=$i-$restloop}
{section name=rowproducts loop=$restloop}
<td>{$manufacturers[$i].products}</td>
{assign var="i" value=$i+1}
{/section}
</tr>
</table>
{else}
The number of columns must be greater than 0
{/if}
{else}
There are no manufacturers. Please create them.
{/if}