刚刚开始 上大学的我,对于线性代数不是很理解。总感觉是那么回事,又不是那么回事。所以果断把书里的定义用程序解一遍。

废话不多说,直接上行列式类的代码:

 class HLS{private List<int[]> D=new List<int[]>(); //存储行列式List.Count为列,行为List存储的元素public void Create() //给行列式复制 当然这里可以通过输入方式 我就不演示了{D.Clear();D.Add(new int[]{2,1,-5});D.Add(new int[]{1,-3,0});D.Add(new int[]{0,2,-3});}      public int Get(int index_x,int index_y) //获取第x-1行,第y-1列的元素{return D[index_x-1][index_y-1];}public int GetCount() //获取行列式行(列)数{return D.Count;}public void Display(double Dvalue) //控制台格式化显示行列式{for(int i=0;i<D.Count;i++){Console.Write("|");for(int j=0;j<D[i].Length;j++){Console.Write(j==D[i].Length-1?(D[i][j]).ToString():(D[i][j]+",").ToString());}Console.Write("|"); if(D.Count%2==0){if(i==D.Count/2-1){Console.Write("|");for(int count=1;count<=D[0].Length;count++){Console.Write(count==D[0].Length-1?" ":" ,");}Console.Write("|="+Dvalue);}}else if(i==(D.Count-1)/2){Console.Write("="+Dvalue);                 }Console.WriteLine();           }}}

行列式的数据结构就这样,计算行列式:

    static double GetHls(HLS D) //传入一个行列式数据,计算并返回其值{int[] arr=CollSet(D.GetCount());List<int[]> list=new List<int[]>();FullArray(list,arr,0);double sum=0;for(int cn=1;cn<=list.Count;cn++){double xg=1;for(int i=1;i<=D.GetCount();i++){xg*=D.Get(i,list[cn-1][i-1]);            }sum+=Math.Pow(-1,N(list[cn-1]))*xg;}return sum;}static int[] CollSet(int num) //生成连续的数字排列{int[] result=new int[num];for(int i=0;i<num;i++)result[i]=i+1;return result;}static int N(int[] arr) //逆序数计算{int N=0;for(int i=1;i<arr.Length;i++)for(int j=0;j<i;j++)if(arr[j]>arr[i])N++;return N;}static void FullArray(List<int[]> list,int[] arr,int k) //全排列生成{if(k==arr.Length){int[] cp_arr=new int[arr.Length];for(int i=0;i<arr.Length;i++)cp_arr[i]=arr[i];list.Add(cp_arr);}else{for(int i=k;i<arr.Length;i++){{int t=arr[k];arr[k]=arr[i];arr[i]=t;}FullArray(list,arr,k+1);{int t=arr[k];arr[k]=arr[i];arr[i]=t;}}}}

然后再Main方法调用测试:

using System;
using System.Linq;
using System.Collections.Generic;
namespace YaxuanMath
{class Math{   static void Main(string[] args){HLS D=new HLS(); //创建行列式类D.Create();    //“输入”行列式数据(可自行定义数据输入方式)     D.Display(GetHls(D)); //控制台格式化显示行列式及其值Console.ReadKey();}
}      

一起用C#写个行列式计算器相关推荐

  1. [C语言]行列式计算器

    最近在学习线性代数,但是由于粗心,总是导致算错,于是我突发奇想,想着用c语言写一个行列式计算器,在我懒经犯了的时候偷一下懒. 由于我也是c语言初学者,所以做的不太好,而且我认为我写的代码有些过于啰嗦了 ...

  2. linux shell 计算器 除0,用shell写一个简易计算器,可以实现加、减、乘、除运算,假如脚本名字为1.sh,执行示例:./1....

    用shell写一个简易计算器,可以实现加.减.乘.除运算,假如脚本名字为1.sh,执行示例:./1.sh 1 + 2#!/bin/bash if [ $# -ne 3 ] then echo &quo ...

  3. linux脚本计算器加减乘除,用shell写一个简易计算器,可以实现加、减、乘、除运算,假如脚本名字为1.sh,执行示例:./1....

    用shell写一个简易计算器,可以实现加.减.乘.除运算,假如脚本名字为1.sh,执行示例:./1.sh 1 + 2#!/bin/bash if [ $# -ne 3 ] then echo &quo ...

  4. python银行利息问题_python入门教程NO.8 用python写个存款利息计算器

    python入门教程 python入门教程NO.8 用python写个存款利息计算器 本文涉及的python基础语法为def函数,return,函数的各参数示例,匿名函数等 函数初识 函数是一段组织好 ...

  5. 用Java写一个年薪计算器,助你简单完成大量税前税后总薪计算量

    每个有规模一点的公司都会有会计部门这是毋庸置疑的,但是会计的工作真的如大部分人想的那么简单,只是在每个月的最后几天才忙得不可开交吗 ? 答案当然不是,不然这个岗位早就人满为患了. 目前就我了解到的会计 ...

  6. 行列式怎样用计算机算,行列式计算器怎么样?行列式计算器如何使用?

    对于这款软件,相信广大的用户对它都是不会感觉到陌生的.行列式计算器实际上是用来计算N阶行列的轻巧软件,它的最大优势就在于使用简单,体积娇小,不会占用用户过多的空间,用户只需要在该款软件当中输入行列式, ...

  7. 使用 tkinter库制作行列式计算器

    计算引用numpy库 界面使用tkinter库 新手练习题:案例有少量bug,未解决 import tkinter as tk #import numpy as np#减少引入函数量 from num ...

  8. python存款模块_python入门教程NO.8用python写个存款利息计算器

    python 入门教程 NO.8 用 python 写个存款利息计算器 本文涉及的 python 基础语法为 def 函数, return ,函数的各参数示例,匿名函数等 函数初识 函数是一段组织好的 ...

  9. 用微信开发者小程序写一个加法计算器小程序

    文章目录 前言 一.calculator.wxml代码 二.calculator.js代码 结果 前言 提示:用软件微信开发者小程序写一个加法计算器小程序 一.calculator.wxml代码 &l ...

最新文章

  1. php header 重定向 url不变_PHP实现页面跳转功能
  2. 分布式消息队列 — Overview
  3. Spring利用JDBCTemplate实现批量插入和返回id
  4. C语言基础排序算法-选择排序
  5. net4.0 兼容2.0的方法
  6. Toping Kagglers:Bestfitting,目前世界排名第一
  7. ansible配置zabbix自动化安装和配置
  8. ReactOS 对象的结构,创建,使用,删除
  9. SQL中in参数在存储过程中传递及使用的方法
  10. mybatis 复习笔记03
  11. 【服务器】创建docker、运行jupyter相关命令
  12. 解决 ThinkPad x270 安装 ubuntu 14.04 后的网络问题
  13. c++使用递归来进行阶乘
  14. RS485通信原理图及程序实例详解
  15. 异速联服务器配置 虚拟机,异速联 安装教程
  16. 淘宝镜像(浏览器驱动等等等)
  17. java webservice 500_Webservice调用返回错误500
  18. 【10】Docker的安装 --Mac
  19. 电视剧《大秦赋》最近很火!于是我用Python抓取了“相关数据”,发现了这些秘密.........
  20. [原创]K8_C段旁注查询工具5.0 30款国外主流CMS识别+智能识别未知CMS

热门文章

  1. 青藤云 安全服务岗技术终面复盘
  2. SAR 101:合成孔径雷达简介
  3. Putty保存配置的小技巧
  4. VC中JMail组件的应用(上)
  5. hdu 5420 Victor and Proposition 线段树建图+强连通分量
  6. 免疫优化算法在物流配送中心选址中的应用(Matlab代码实现)
  7. genesis阻焊优化一键搞定阻焊
  8. windows局域网远程访问桌面+资源复制粘贴
  9. Elastic认证含金量高吗?关于Elastic认证考试的一系列解惑
  10. 五月天 《倔强》 - 歌词