/* המחלקה הראשית המשתמשת במחלקה Diagonal */ using System; public class DiagonalTest { public static void Main() { //הגדרת קבועים ומשתנים const int N = 4; double val; // יצירת עצם מסוג מחלקת האלכסונים Diagonal diagonalMat = new Diagonal(N); // קליטת האיברים Console.WriteLine("Enter matrix values: "); for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) { Console.Write(" row {0} col {1}: ", i+1, j+1); val = double.Parse(Console.ReadLine()); diagonalMat.SetVal(i, j, val); } // for j } // for i // הצגת סכום הערכים באלכסון הראשי ובאלכסון המשני Console.WriteLine("Main diagonal sum {0}", diagonalMat.SumMain()); Console.WriteLine("Secondary diagonal sum {0}", diagonalMat.SumSecond()); }// Main }// class DiagonalTest /* מחלקת Diagonal */ public class Diagonal { private double[,] matrix; //פעולה בונה public Diagonal(int n) { matrix = new double[n, n]; } //פעולת גישה לעדכון איבר במטריצה public void SetVal(int row, int col, double val) { matrix[row, col] = val; } // חישוב סכום איברי האלכסון הראשי public double SumMain() { double sumMain = 0; for (int i = 0; i < matrix.GetLength(0); i++) sumMain = sumMain + matrix[i, i]; return sumMain; } // חישוב סכום איברי האלכסון המשני public double SumSecond() { double sumSecond = 0; for (int i = 0; i < matrix.GetLength(0); i++) sumSecond = sumSecond + matrix[i, matrix.GetLength(0) - 1 - i]; return sumSecond; } }//class Diagonal