Метод Гаусса (Реализация на C#)

C#   19 июня 2012  Автор статьи:  

Метод Гаусса — алгоритм нахождения детерминанта квадратной матрицы.
Представленная программа вычисляет детерминант матрицы, введенной пользователем. Вначале поступает запрос о размерах квадратной матрицы, а затем требуется ввести n строк матрицы по n элементов.
Реализация данного алгоритма на С#:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Gauss
{
class Program
{
static void Main()
{
string s;
string[] str;
double det = 1;
//определяем переменную EPS
const double EPS = 1E-9;
//размерность матрицы
int n;
//вводим n
Console.WriteLine("Enter the dimension of the matrix");
n = int.Parse(Console.ReadLine());
//определяем массив размером nxn
double[][] a = new double[n][];
double[][] b = new double[1][];
b[0] = new double[n];
//заполняем его
Console.WriteLine("Enter the n rows of n elements");
for (int i=0;i Math.Abs(a[k][i]))
//если равенство выполняется то k присваиваем j
k = j;
//если равенство выполняется то определитель приравниваем 0 и выходим из программы
if (Math.Abs(a[k] [i]) < EPS) { det = 0; break; } //меняем местами a[i] и a[k] b[0] = a[i]; a[i] = a[k]; a[k] = b[0]; //если i не равно k if (i != k) //то меняем знак определителя det = -det; //умножаем det на элемент a[i][i] det *= a[i][i]; //идем по строке от i+1 до конца for (int j=i+1; j EPS))
//если да, то идем по k от i+1
for (k = i+1; k < n; ++k) a[j][k] -= a[i][k] * a[j][i]; } //выводим результат Console.WriteLine(det); Console.ReadLine(); } } }

  • Yar

    Быдлокод

Научиться программировать

  • на Delphi

  • на Java

  • на C++