Обработка двумерных массивов - C#

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

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

Здравствуйте, уважаемые! Нашел на просторах интернета такую задачку: Составить программу для ввода натурального числа k и матрицы . Требуется из матрицы A сформировать , включив в нее k столбцов с наименьшими суммами элементов(в порядке возрастания сумм). Т.к. я только начал изучать массивы, не могу понять что означает и , по моим (скорее всего бредовым) предположением, - означает что имя массива A с m столбцов и n строк, и также с B массивом, только как из матрицы A сформировать матрицу B? Подскажите пожалуйста) P.S. Буду рад любому ответу!

Решение задачи: «Обработка двумерных массивов»

textual
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.IO;
  5.  
  6.                    
  7. public class Program
  8. {
  9.     public static void Main(string[] args)
  10.     {      
  11.         var k = int.Parse(ReadLine("k: "));
  12.         var a = ReadMatrix();
  13.         var b = a.Select(x => (row: x, sum: x.Sum())).OrderBy(x => x.sum).Select(x => x.row).Take(k).ToArray();
  14.         WriteMatrix(b);
  15.     }
  16.    
  17.     static string ReadLine(string message)
  18.     {
  19.         Console.Write(message);
  20.         return Console.ReadLine();
  21.     }
  22.    
  23.     static int[][] ReadMatrix()
  24.     {
  25.         var sizeArray = ReadLine("Size (width, height): ").Split(' ').Select(int.Parse).ToArray();
  26.         var width = sizeArray[0];
  27.         var height = sizeArray[1];
  28.         var result = new int[height][];
  29.        
  30.         foreach (var rowIndex in Enumerable.Range(0, height))
  31.         {  
  32.             result[rowIndex] = ReadLine($"Matrix row {rowIndex}: ").Split(' ').Select(int.Parse).Take(width).ToArray();
  33.         }
  34.        
  35.         return result;
  36.     }
  37.    
  38.     static void WriteMatrix(int[][] matrix)
  39.     {
  40.         foreach (var rowIndex in Enumerable.Range(0, matrix.Length))
  41.         {
  42.             var row = string.Join(" ", matrix[rowIndex]);
  43.             Console.WriteLine($"[{rowIndex}] = {row}");
  44.         }
  45.     }
  46. }

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


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

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

14   голосов , оценка 4 из 5

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

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

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