Well, I know Java, not C# but in Java here is how you would copy the 2d arrays:
Code:
for (int i = 0; i < array1.length; i++){
for(int j = 0; j < array1[i].length; i++){
array2[i][j] = array1[i][j];//copies array value at location i,j to new array.
}
}
You will need to use a similar process for printing out the array and resetting the array. Just a bunch of loops with a different main action.