Как, имея две матрицы, одну записать в другую? - 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();
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.727 из 5
Похожие ответы