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