Сумма столбцов матрицы с использованием функций - 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();
}
}
}