Дан двумерный массив, создать другой массив, строками которого будут диагонали первого массива - C#

Узнай цену своей работы

Формулировка задачи:

Дан двумерный массив, создать другой массив, строками которого будут диагонали первого массива. Задачу решить с помощью классов. Класс будет содержать два метода: один заполнит массив значениями, второй произведет замену значений строк на значения диагоналей.

Решение задачи: «Дан двумерный массив, создать другой массив, строками которого будут диагонали первого массива»

textual
Листинг программы
  1. using System;
  2. static class IntMatrixOps
  3. {
  4.     public static int[,] SwapLineByDiag(this int[,] matr)
  5.     {
  6.         if (matr.GetLength(0) != matr.GetLength(1)) throw new Exception
  7.             ("все плохо(метод работает только с квадратными матрицами)");
  8.         int[,] m2 = new int[matr.GetLength(0), matr.GetLength(1)];
  9.         for (int i = 0; i < matr.GetLength(1); i++)
  10.             for (int j = 0; j < matr.GetLength(0); j++)
  11.                   m2[j, i] = matr[i, i];
  12.         return m2;
  13.     }
  14.     public static void FillWithRandoms(this int[,] matr,Random r = null)
  15.     {
  16.         r = r ?? new Random();
  17.         for (int i = 0; i < matr.GetLength(0); i++)
  18.             for (int j = 0; j < matr.GetLength(1); j++) matr[i, j] = r.Next(0,100);
  19.     }
  20.     public static void Show(this int[,] matr)
  21.     {
  22.         for (int i = 0; i < matr.GetLength(0); i++)
  23.         {
  24.             for (int j = 0; j < matr.GetLength(1); j++) Console.Write("{0,3}", matr[i, j]);
  25.             Console.WriteLine();
  26.         }
  27.     }
  28. }
  29. class test
  30. {
  31.     static void Main()
  32.     {
  33.         Random r = new Random();
  34.         Console.Write("введите сторону матрицы : ");
  35.         int b = int.Parse(Console.ReadLine());
  36.         int[,] matrix = new int[b,b];
  37.         matrix.FillWithRandoms(r);
  38.         Console.WriteLine();
  39.         matrix.Show();
  40.         Console.WriteLine("\nновая матрица : ");
  41.         int[,] matr2 = matrix.SwapLineByDiag();
  42.         matr2.Show();
  43.         Console.ReadKey(true);
  44.     }
  45. }

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


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

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

7   голосов , оценка 4.143 из 5

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

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

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