using System;
class Program
{
static int[,] AddRow(int[,] arr, int[] new_row) {
int lastRow = arr.GetUpperBound(0);
int lastColumn = arr.GetUpperBound(1);
int[,] new_arr2d = new int[lastRow + 2, lastColumn + 1];
for (int i = 0; i <= lastRow; i++) {
for (int j = 0; j <= lastColumn; j++) {
new_arr2d[i, j] = arr[i, j];
}
}
for (int i = 0; i < new_row.Length; i++) {
new_arr2d[lastRow + 1, i] = new_row[i];
}
return new_arr2d;
}
static void PrintArray(int[,] array) {
for (int i = 0; i <= array.GetUpperBound(0); i++) {
for (int j = 0; j <= array.GetUpperBound(1); j++) {
Console.Write(array[i, j] + " ");
}
Console.WriteLine();
}
}
static void Main() {
int[,] arr2d = { {1, 2, 3}, {3, 4, 6} };
arr2d = AddRow(arr2d, new int[] {7, 8, 9});
PrintArray(arr2d);
}
}
/*
run:
1 2 3
3 4 6
7 8 9
*/