Сумма столбцов матрицы с использованием функций - C#

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

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

Добрый день! Прошу помочь откорректировать программу по условию: Если К-й столбец прямоугольной матрицы имеет минимальную сумму элементов, определить сумму элементов столбцов до К-го, иначе сумму столбцов после К-го. Написал, а в чем помарки не могу додумать. Заранее большое спасибо!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApplication433
{
    class Program
    {
        
            void Create(out int [3,5]temp)
{
    for (int i = 0; i<3; i++)
    {
    for (int j = 0; j<5; j++)
    temp[i,j]=rand.Next();
    }
}
 
void show(out int [3,5]temp)
{
    for (int i = 0; i<3; i++)
    {
    for (int j = 0; j<5; j++)
    Console.WriteLine(temp[i,j]+" ");
    Console.WriteLine();
    }
}
 
void result(out int [3,5]temp)
{
    int k,summ=0,min;
    int *sum = new int [5];
 
    for (int i=0;i<5;i++)
    sum[i]=0;
 
    for (int i = 0; i < 3; i++)
    {
    for (int j = 0; j < 5; j++)
    sum[j] += temp[i,j];
    }
 
    Console.WriteLine("Введите номер столбца: ");
    Console.ReadLine(k);
    if (k<0 || k>5)
    {
    Console.WriteLine("Недопустимое значение!");
    }
 
    Console.WriteLine("Сумма элементов "+k " столбца: "+sum[k-1]);
 
    for (int i=0;i<5;i++)
    if (sum[i]<sum[i+1])
    min=sum[i];
 
    if (sum[k-1]==min)
    {
    Console.WriteLine(", является самой минимальной: ");
    for (int i = 0; i < 3; i++)
    for (int j = 0; j < k-1; j++)
    summ+=temp[i,j];
    }
    else
    {
    Console.WriteLine(", не является самой минимальной: ");
    for (int i = 0; i < 3; i++)
    {
    for (int j = k; j < 5; j++)
    summ+=temp[i,j];
    }
    }
 
    Console.WriteLine("Сумма элементов: " +summ);
}
        }
static void Main(string[] args)
        {
    int[,] array = new int[3,5];
    Console.WriteLine("Матрица 3*5:");
    Create(array);
    show(array);
    result(array);
 
    Console.WriteLine();

Console.ReadLine();
        }
Додумал только одно. Забыл определить функцию случайного заполнения матрицы Random rand = new Random(); Помогите пожалуйста откорректировать

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

textual
Листинг программы
using System;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication233
{
    class Program
    {           
       
       static void Create(int [,] temp)
       {
           Random rand = new Random();
           for (int i = 0; i<3; i++)
              for (int j = 0; j<5; j++)
              temp[i,j]=rand.Next(-10,10);
       }
 
      static void show(  int [,] temp)
       {
           for (int i = 0; i < 3; i++)
           {
               for (int j = 0; j < 5; j++)
                   Console.Write(string.Format("{0,3} ", temp[i, j]));
 
               Console.WriteLine();
           }   
        }
 
       static void result( int [,] temp)
        {
            int k, summ = 0, min = Int32.MaxValue;
           int [] sum = new int [5];
 
           for (int i=0; i<5; i++)
              sum[i]=0;
 
           for (int i = 0; i < 3; i++)
              for (int j = 0; j < 5; j++)
                sum[j] += temp[i,j];
        
           min = sum.Min();
 
          Console.WriteLine("Введите номер столбца: ");
          int.TryParse(Console.ReadLine(),out k);
 
          if (k < 0 || k > 5)
             Console.WriteLine("Недопустимое значение!");
             
          if (sum[k-1] == min)
                {
                   Console.WriteLine(", является самой минимальной: ");
                   for (int i = 0; i < 3; i++)
                   for (int j = 0; j < k-1; j++)
                     summ += temp[i,j];
                }
            else
                {
                   Console.WriteLine(", не является самой минимальной: ");
                   for (int i = 0; i < 3; i++)
                   for (int j = k; j < 5; j++)
                    summ += temp[i,j];
                }
 
            Console.WriteLine("Сумма элементов: " +summ);
        }
     
        static void Main(string[] args)
        {
           
           int[,] array = new int[3,5];
           Console.WriteLine("Матрица 3*5:");
           Create(array);
           show(array);
           result(array);
 
           Console.ReadLine();
        }
    }
}

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


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

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

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