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

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

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

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

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

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.IO;
 
                    
public class Program
{
    public static void Main(string[] args)
    {       
        var k = int.Parse(ReadLine("k: "));
        var a = ReadMatrix();
        var b = a.Select(x => (row: x, sum: x.Sum())).OrderBy(x => x.sum).Select(x => x.row).Take(k).ToArray();
        WriteMatrix(b);
    }
    
    static string ReadLine(string message)
    {
        Console.Write(message);
        return Console.ReadLine();
    }
    
    static int[][] ReadMatrix()
    {
        var sizeArray = ReadLine("Size (width, height): ").Split(' ').Select(int.Parse).ToArray();
        var width = sizeArray[0];
        var height = sizeArray[1];
        var result = new int[height][];
        
        foreach (var rowIndex in Enumerable.Range(0, height))
        {   
            result[rowIndex] = ReadLine($"Matrix row {rowIndex}: ").Split(' ').Select(int.Parse).Take(width).ToArray();
        }
        
        return result;
    }
    
    static void WriteMatrix(int[][] matrix)
    {
        foreach (var rowIndex in Enumerable.Range(0, matrix.Length))
        {
            var row = string.Join(" ", matrix[rowIndex]);
            Console.WriteLine($"[{rowIndex}] = {row}");
        }
    }
}

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


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

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

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