Сумма столбцов матрицы с использованием функций - 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(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д