Как, имея две матрицы, одну записать в другую? - 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
Листинг программы
  1. /*
  2.  * Задача: вставить одну матрицу в другую
  3.  * в определённой позиции.
  4.  */
  5.  
  6. using System;
  7.  
  8. class Program
  9. {
  10.     public static void InsertMatrix<T>(T[,] source, T[,] dest, int row, int col) {
  11.         // TODO: Проверка границ
  12.         for (int r = 0; r < source.GetLength(0); r++) {
  13.             for (int c = 0; c < source.GetLength(1); c++) {
  14.                 dest[r + row, c + col] = source[r, c];
  15.             }
  16.         }
  17.     }
  18.    
  19.     static void Main() {
  20.         int[,] m1 = {
  21.             { 1, 2, 3, 4, 5 },
  22.             { 5, 4, 3, 2, 1 },
  23.             { 2, 3, 5, 7, 9 }
  24.         };
  25.         int[,] m2 = {
  26.             { -10, -20 },
  27.             { -20, -30 }
  28.         };
  29.        
  30.         InsertMatrix(m2, m1, 1, 2);
  31.         for (int r = 0; r < m1.GetLength(0); r++) {
  32.             for (int c = 0; c < m1.GetLength(1); c++) {
  33.                 Console.Write("{0}\t", m1[r, c]);
  34.             }
  35.             Console.WriteLine();
  36.         }
  37.     }
  38. }

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


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

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

11   голосов , оценка 3.727 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы