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