Для заданной матрицы 8х8 найти такие k, при которых k-я строка матрицы совпадает с k-м столбцом - C#
Формулировка задачи:
Для заданной матрицы 8х8 найти такие k, при которых k-я строка матрицы совпадает с k-м столбцом. Найти сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент.
Кто сможет - помогите с решением (как можно подробнее, если будет возможность).
Решение задачи: «Для заданной матрицы 8х8 найти такие k, при которых k-я строка матрицы совпадает с k-м столбцом»
textual
Листинг программы
using System; using System.IO; using System.Collections.Generic; using System.Globalization; class Temp { private const int Size = 8; public static void Main (string[] args) { double[,] matrix = new double[Size, Size];//матрица List<int> matchKNumbers = new List<int>();//значения k try {//читаем матрицу из файла using (var file = new StreamReader(@"C:\somefile.txt")) for(int i = 0; i < Size; i++) for (int j = 0; j < Size; j++) matrix[i,j] = double.Parse(file.ReadLine(), CultureInfo.InvariantCulture); } catch (IOException) { Console.WriteLine("Ошибка чтения данных"); Console.ReadKey(); return; } for(int i = 0; i < Size; i++) {//ищем k bool doesMatch = true; for (int j = 0; j < Size; j++) if (matrix[i,j] != matrix[j,i]) doesMatch = false; if (doesMatch) matchKNumbers.Add(i); } foreach(int number in matchKNumbers) Console.WriteLine("k = {0}", number); for(int i = 0; i < Size; i++) {//ищем строки с отрицательными элементами и считаем суммы bool hasNegativeItem = false; for (int j = 0; j < Size; j++) if (matrix[i,j] < 0.0) hasNegativeItem = true; if (hasNegativeItem) { double sum = 0.0; for (int j = 0; j < Size; j++) sum += matrix[i,j]; Console.WriteLine("Сумма строки {0} равна {1}", i, sum); } } Console.ReadKey(); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д