It's possible to do this with either a single loop (which then would require a small amount of code repetition) or two nested loops:
DataTable outputTable = inputTable.Clone();
foreach(DataRow inputRow in inputTable.Rows)
{
for (int i=0; i<3; i++)
{
DataRow newRow = outputTable.NewRow();
newRow[0] = inputRow[0];
newRow[1] = inputRow[1 + i];
newRow[2] = inputRow[4 + i];
newRow[3] = inputRow[7 + i];
outputTable.Rows.Add(newRow);
}
}