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

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

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

Задан двумерный массив размерности m n. Дополнить его строкой и столбцом, в которых записать суммы элементов соответствующих строк и столбцов исходного массива. В элементе (m+1,n+1) должна храниться сумма всех элементов первоначального массива.

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

textual
Листинг программы
  1. using System;
  2.  
  3. namespace ConsoleApp1
  4. {
  5.     class Program
  6.     {
  7.         static void Main()
  8.         {
  9.             Random r = new Random();
  10.             Console.Write("M = "); int m = int.Parse(Console.ReadLine());
  11.             Console.Write("N = "); int n = int.Parse(Console.ReadLine());
  12.             int[,] mas = new int[m, n];
  13.             for (int i = 0; i < m; i++)
  14.                 for (int j = 0; j < n; j++)
  15.                     mas[i, j] = r.Next(0, 100);
  16.             Console.WriteLine("Исходная матрица:");
  17.             Output(mas);
  18.             mas = NewMas(mas);
  19.             Console.WriteLine("Новая матрица");
  20.             Output(mas);
  21.             Console.ReadKey();
  22.         }
  23.  
  24.         static int[,] NewMas(int[,] mas)
  25.         {
  26.             int[,] mas1 = new int[mas.GetLength(0) + 1, mas.GetLength(1) + 1];
  27.             int global = 0;
  28.             for (int i = 0; i < mas1.GetLength(0) - 1; i++)
  29.             {
  30.                 int sum = 0;
  31.                 for (int j = 0; j < mas1.GetLength(1); j++)
  32.                     if (j < mas.GetLength(1))
  33.                     {
  34.                         mas1[i, j] = mas[i, j];
  35.                         sum += mas[i, j];
  36.                         global += mas[i, j];
  37.                     }
  38.                     else
  39.                         mas1[i, j] = sum;
  40.             }
  41.  
  42.             for (int j = 0; j < mas1.GetLength(1) - 1; j++)
  43.             {
  44.                 int sum = 0;
  45.                 for (int i = 0; i < mas1.GetLength(0); i++)
  46.                     if (i < mas.GetLength(0))
  47.                         sum += mas[i, j];
  48.                     else mas1[i, j] = sum;
  49.             }
  50.  
  51.             mas1[mas.GetLength(0), mas.GetLength(1)] = global;
  52.             return mas1;
  53.         }
  54.  
  55.         static void Output(int[,] mas)
  56.         {
  57.             for (int i = 0; i < mas.GetLength(0); i++)
  58.             {
  59.                 for (int j = 0; j < mas.GetLength(1); j++)
  60.                     Console.Write(mas[i, j] + "\t");
  61.                 Console.WriteLine();
  62.             }
  63.         }
  64.     }
  65. }

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


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

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

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

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

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

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