Программа рассчитывает сумму элементов с четной суммой индексов в двух матрицах - C#
Формулировка задачи:
Программа рассчитывает сумму элементов с четной суммой индексов
в двух матрицах, которые хранятся в разных файлах.
Помогите плиз.
Решение задачи: «Программа рассчитывает сумму элементов с четной суммой индексов в двух матрицах»
textual
Листинг программы
using System; using System.Linq; using System.IO; namespace CyberForum { class Program { //Считывает размер матрицы из файла public static int GetMatrixSize(string fileWithMatrix) { string[] arr = File.ReadAllLines(fileWithMatrix); return Convert.ToInt32(arr[0]); } //Считивает матрицу из файла public static int[,] MyMatrix(string fileWithMatrix, int size) { string[] arr = File.ReadAllLines(fileWithMatrix); int[,] matrix = new int[size, size]; for (int i = 0; i < size; i++) { var tmp = arr[i + 1].Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries).Select(int.Parse).ToArray(); for (int j = 0; j < tmp.Length; j++) matrix[i, j] = tmp[j]; } return matrix; } //Выводит матрицу на экран public static void DisplayMatrix(int[,] matrix, int size, string fileWithMatrix) { Console.WriteLine("Матрица из файла {0}: ", fileWithMatrix); for (int i = 0; i < size; i++) { for (int j = 0; j < size; j++) { Console.Write(matrix[i, j] + " "); } Console.WriteLine(); } } //Считает сумму элементов, где сумма индексов четная public static int CalculateSum(int[,] matrix, int size) { int sum = 0; for(int i=0; i<size; i++) for (int j = 0; j < size; j++) sum += (i + j)%2 == 0 ? matrix[i, j] : 0; return sum; } static void Main(string[] args) { int n=GetMatrixSize("D:/MatrixA.txt"); int[,] matrixA=new int[n,n]; Array.Copy(MyMatrix("D:/MatrixA.txt", n), matrixA, n*n); DisplayMatrix(matrixA, n, "D:/MatrixA.txt"); Console.WriteLine("Сумма элементов, где есть четная сумма индексов, равна: " + CalculateSum(matrixA, n)); Console.WriteLine(); int m = GetMatrixSize("D:/MatrixB.txt"); int[,] matrixB = new int[m, m]; Array.Copy(MyMatrix("D:/MatrixB.txt", m), matrixB, m*m); DisplayMatrix(matrixB, m, "D:/MatrixB.txt"); Console.WriteLine("Сумма элементов, где четная сумма индексов, равна: " + CalculateSum(matrixB, m)); Console.ReadKey(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д