Как, имея две матрицы, одну записать в другую? - C#
Формулировка задачи:
Доброго времени. Скажите пожалуйста, как имея 2 двухмерных массивов, один записать в другой?
Пояснение.
Первый массив A[68;120].
Второй массив B[68;60].
Запись произвести всех элементов массива B начиная с 0, в массив А, чтобы элементы массива начинались с 60 столбца, т.е. чтобы получился массив, элементы которого мы заполнили, начинались с первой строки и с 60 столбца.
0 1 2 ... 0 60 0 ... 0 120
0 0 0 ... B[0;0] ... B[0;60]
1 0 0 ... B[1;0] ... B[1;60]
...
68 0 0 ... B[68;0] ... B[68;60]
Белые нули разделители
Решение задачи: «Как, имея две матрицы, одну записать в другую?»
textual
Листинг программы
- /*
- * Задача: вставить одну матрицу в другую
- * в определённой позиции.
- */
- using System;
- class Program
- {
- public static void InsertMatrix<T>(T[,] source, T[,] dest, int row, int col) {
- // TODO: Проверка границ
- for (int r = 0; r < source.GetLength(0); r++) {
- for (int c = 0; c < source.GetLength(1); c++) {
- dest[r + row, c + col] = source[r, c];
- }
- }
- }
- static void Main() {
- int[,] m1 = {
- { 1, 2, 3, 4, 5 },
- { 5, 4, 3, 2, 1 },
- { 2, 3, 5, 7, 9 }
- };
- int[,] m2 = {
- { -10, -20 },
- { -20, -30 }
- };
- InsertMatrix(m2, m1, 1, 2);
- for (int r = 0; r < m1.GetLength(0); r++) {
- for (int c = 0; c < m1.GetLength(1); c++) {
- Console.Write("{0}\t", m1[r, c]);
- }
- Console.WriteLine();
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д