کد برنامه سی شارپ برای معکوس کردن یک ماتریس 3 در 3 به صورت زیر است:
using System;
namespace MatrixInverse
{
class Program
{
static void Main(string[] args)
{
double[,] matrix = new double[,] { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
double[,] inverseMatrix = InverseMatrix(matrix);
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
Console.Write(inverseMatrix[i, j] + " ");
}
Console.WriteLine();
}
}
static double[,] InverseMatrix(double[,] matrix)
{
double det = Determinant(matrix);
if (det == 0)
{
throw new Exception("ماتریس قابل معکوس نیست.");
}
double[,] cofactorMatrix = new double[3, 3];
cofactorMatrix[0, 0] = matrix[1, 1] * matrix[2, 2] - matrix[1, 2] * matrix[2, 1];
cofactorMatrix[0, 1] = -(matrix[1, 0] * matrix[2, 2] - matrix[1, 2] * matrix[2, 0]);
cofactorMatrix[0, 2] = matrix[1, 0] * matrix[2, 1] - matrix[1, 1] * matrix[2, 0];
cofactorMatrix[1, 0] = -(matrix[0, 1] * matrix[2, 2] - matrix[0, 2] * matrix[2, 1]);
cofactorMatrix[1, 1] = matrix[0, 0] * matrix[2, 2] - matrix[0, 2] * matrix[2, 0];
cofactorMatrix[1, 2] = -(matrix[0, 0] * matrix[2, 1] - matrix[0, 1] * matrix[2, 0]);
cofactorMatrix[2, 0] = matrix[0, 1] * matrix[1, 2] - matrix[0, 2] * matrix[1, 1];
cofactorMatrix[2, 1] = -(matrix[0, 0] * matrix[1, 2] - matrix[0, 2] * matrix[1, 0]);
cofactorMatrix[2, 2] = matrix[0, 0] * matrix[1, 1] - matrix[0, 1] * matrix[1, 0];
double[,] adjugateMatrix = TransposeMatrix(cofactorMatrix);
double[,] inverseMatrix = new double[3, 3];
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
inverseMatrix[i, j] = adjugateMatrix[i, j] / det;
}
}
return inverseMatrix;
}
static double Determinant(double[,] matrix)
{
double det = 0;
det = matrix[0, 0] * (matrix[1, 1] * matrix[2, 2] - matrix[1, 2] * matrix[2, 1])
- matrix[0, 1] * (matrix[1, 0] * matrix[2, 2] - matrix[1, 2] * matrix[2, 0])
+ matrix[0, 2] * (matrix[1, 0] * matrix[2, 1] - matrix[1, 1] * matrix[2, 0]);
return det;
}
static double[,] TransposeMatrix(double[,] matrix)
{
double[,] transposeMatrix = new double[3, 3];
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
transposeMatrix[i, j] = matrix[j, i];
}
}
return transposeMatrix;
}
}
}
این برنامه ماتریس 3 در 3 را دریافت می کند و معکوس آن را محاسبه می کند. سپس مقادیر معکوس شده را به صورت خروجی نشان می دهد.
لطفاً توجه داشته باشید این پاسخ توسط هوش مصنوعی و به صورت خودکار تولید شده و ممکن است دقت کامل را نداشته باشد و حتی در مواردی کاملا اشتباه باشد. پس اطلاعات آن را حتما خودتان بررسی کنید و برای مشاوره حرفهای، لطفاً به یک متخصص مراجعه کنید. ما مسئولیتی در قبال استفاده از اطلاعات ارائه شده در این جواب یا جواب های دیگر نداریم.