Найти сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент - C# (185928)
Формулировка задачи:
Добрый день. Помогите, пожалуйста, с написанием программы.
Вот само задание:
Для заданной матрицы размером 8х8 найти такие k, при которых k-я строка матрицы совпадает с k-м столбцом.
Найти сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент.
Заранее спасибо.
Решение задачи: «Найти сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace _Matrix { class Program { static void Main(string[] args) { int[,] matrix = GetRandomMatrix(8, 8); //create matrix PrintMatrix(matrix); Dictionary<int,int> result = GetSumOfRows(matrix); foreach(var value in result) Console.WriteLine("Row : {0}, Summa {1}",value.Key, value.Value); Console.ReadLine(); } private static int[,] GetRandomMatrix(int rows, int columns) { Random random = new Random(); int[,] matrix = new int[rows, columns]; for (int i = 0; i < matrix.GetLength(0); i++) for (int j = 0; j < matrix.GetLength(1); j++) matrix[i, j] = random.Next(-9, 9); return matrix; } private static Dictionary<int,int> GetSumOfRows(int[,] matrix) { Dictionary<int, int> result = new Dictionary<int, int>(); for (int i = 0; i < matrix.GetLength(0); i++) { for (int j = 0; j < matrix.GetLength(1); j++) { if(matrix[i,j] < 0) { int sum = 0; j = -1; while(++j < matrix.GetLength(1)) sum += matrix[i, j]; result.Add(i,sum); continue; } } } return result; } private static void PrintMatrix(int[,] matrix) { for (int i = 0; i < matrix.GetLength(0); i++) { Console.WriteLine(); for (int j = 0; j < matrix.GetLength(1); j++) Console.Write("\t{0}", matrix[i, j]); } Console.Write("\n\n"); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д