矩阵求逆器(最高4阶 大一新牲的代码
大一入学半学期了
三墩镇职业技术学院人已经被线代和c程折磨小半年了
近期其期中压力过大于是写点代码发泄一下(乐
想着自己是个懒狗于是写了个矩阵求逆器
至少学到了点东西
废话不说下面代码
#include <stdio.h>
double a[100];
void erjie(int n);
void sanjie(int n);
void sijie(int n);
int main() {int t;printf("求矩阵逆输入1 \n 求转置输入2 \n");scanf("%d",&t);if(t==1){int n,i,j;printf("矩阵求逆器\n请输入n阶矩阵的n(n>1)\n请按顺序输入矩阵元素\n");printf("例如 \n\n2\n3 5\n8 9\n \n");scanf("%d",&n);//读入数据for(i=1;i<=n;i++){for(j=1;j<=n;j++){scanf("%lf",&a[(i-1)*n+j]);}}printf(" \n结果是\n");if(n==2){erjie(n);}else if(n==3){sanjie(n);}else if(n==4){sijie(n);}else if(n==1){printf("答案就写在上面");}else{printf("算不了辣"); }getchar(); }else{printf("还在开发中~"); }
}void erjie(int n)
{int t;t = a[1];a[1]=a[4];a[4]=t;a[2]=-a[2];a[3]=-a[3];double sum;sum = a[1]*a[4]-a[2]*a[3];if(sum == 0){printf("矩阵不可逆"); return ;}printf("%.2f %.2f\n",a[1]/sum,a[2]/sum);printf("%.2f %.2f\n",a[3]/sum,a[4]/sum);printf("搞完辣"); }
void sanjie(int n)
{double sum;sum = (1.0)*(a[1]*a[5]*a[9] + a[2]*a[6]*a[7] + a[3]*a[4]*a[8] - a[3]*a[5]*a[7] - a[2]*a[4]*a[9] - a[1]*a[6]*a[8]);double b[20];if(sum == 0){printf("矩阵不可逆"); return ;}b[1] = (a[5]*a[9]-a[6]*a[8])/sum;b[4] = (a[4]*a[9]-a[6]*a[7])/sum*(-1);b[7] = (a[4]*a[8]-a[5]*a[7])/sum;b[2] = (a[2]*a[9]-a[3]*a[8])/sum*(-1); b[5] = (a[1]*a[9]-a[3]*a[7])/sum;b[8] = (a[1]*a[8]-a[2]*a[7])/sum*(-1);b[3] = (a[2]*a[6]-a[3]*a[5])/sum;b[6] = (a[1]*a[6]-a[3]*a[4])/sum*(-1);b[9] = (a[1]*a[5]-a[2]*a[4])/sum;int ii = 1;for(ii;ii<=3;ii++){printf("%.4f %.4f %.4f\n",b[(ii-1)*3+1],b[(ii-1)*3+2],b[(ii-1)*3+3]);}printf("搞完辣");
}
void sijie(int n)
{double b[100];double c[100];double s[100];b[1] = (a[6]*a[11]*a[16] + a[7]*a[12]*a[14] + a[8]*a[10]*a[15] - a[8]*a[11]*a[14]- a[7]*a[10]*a[16] - a[6]*a[12]*a[15]);b[2] = (a[5]*a[11]*a[16] + a[7]*a[12]*a[13] + a[8]*a[9]*a[15] - a[8]*a[11]*a[13]- a[5]*a[12]*a[15] - a[7]*a[9]*a[16]);b[3] = (a[5]*a[10]*a[16] + a[6]*a[12]*a[13] + a[8]*a[9]*a[14] - a[8]*a[10]*a[13]- a[6]*a[9]*a[16] - a[5]*a[12]*a[14]);b[4] = (a[5]*a[10]*a[15] + a[6]*a[11]*a[13] + a[7]*a[9]*a[14] - a[7]*a[10]*a[13]- a[6]*a[9]*a[15] - a[5]*a[11]*a[14]);b[5] = (a[2]*a[11]*a[16] + a[3]*a[12]*a[14] + a[4]*a[10]*a[15] - a[4]*a[11]*a[14]- a[3]*a[10]*a[16] - a[2]*a[12]*a[15]);b[6] = (a[1]*a[11]*a[16] + a[3]*a[12]*a[13] + a[4]*a[9]*a[15] - a[4]*a[11]*a[13]- a[1]*a[12]*a[15] - a[3]*a[9]*a[16]);b[7] = (a[1]*a[10]*a[16] + a[2]*a[12]*a[13] + a[4]*a[9]*a[14] - a[4]*a[10]*a[13]- a[2]*a[9]*a[16] - a[1]*a[12]*a[14]);b[8] = (a[1]*a[10]*a[15] + a[2]*a[11]*a[13] + a[3]*a[9]*a[14] - a[3]*a[10]*a[13]- a[1]*a[11]*a[14] - a[2]*a[9]*a[15]);b[9] = (a[2]*a[7]*a[16] + a[3]*a[8]*a[14] + a[4]*a[6]*a[15] - a[4]*a[7]*a[14]- a[2]*a[12]*a[15] - a[3]*a[6]*a[16]);b[10] = (a[1]*a[7]*a[16] + a[3]*a[8]*a[13] + a[4]*a[5]*a[15] - a[4]*a[7]*a[13]- a[1]*a[8]*a[15] - a[3]*a[5]*a[16]);b[11] = (a[1]*a[6]*a[16] + a[2]*a[8]*a[13] + a[4]*a[5]*a[14] - a[4]*a[6]*a[13]- a[2]*a[5]*a[16] - a[1]*a[8]*a[14]);b[12] = (a[1]*a[6]*a[15] + a[2]*a[7]*a[13] + a[3]*a[5]*a[14] - a[3]*a[6]*a[13]- a[2]*a[5]*a[15] - a[1]*a[7]*a[14]);b[13] = (a[2]*a[7]*a[12] + a[3]*a[8]*a[10] + a[4]*a[6]*a[11] - a[4]*a[7]*a[10]- a[3]*a[6]*a[12] - a[2]*a[8]*a[11]);b[14] = (a[1]*a[7]*a[12] + a[3]*a[8]*a[9] + a[4]*a[5]*a[11] - a[4]*a[7]*a[9]- a[3]*a[5]*a[12] - a[1]*a[8]*a[11]);b[15] = (a[1]*a[6]*a[12] + a[2]*a[8]*a[9] + a[4]*a[5]*a[10] - a[4]*a[6]*a[9]- a[2]*a[5]*a[12] - a[1]*a[8]*a[10]);b[16] = (a[1]*a[6]*a[11] + a[2]*a[7]*a[9] + a[3]*a[5]*a[10] - a[3]*a[6]*a[9]- a[2]*a[5]*a[11] - a[1]*a[7]*a[10]);int i,j;for(i=1;i<=4;i++){for(j=1;j<=4;j++){c[(i-1)*4+j] = pow(-1,i+j)*b[(i-1)*4+j];} }double sum = 0.0;for(i=1;i<=4;i++){sum = sum + c[i]*a[i];}if(0==sum){printf("矩阵不可逆"); return ;}s[1] = c[1]/sum;s[2] = c[5]/sum;s[3] = c[9]/sum;s[4] =c[13]/sum;s[5] = c[2]/sum;s[6] = c[6]/sum;s[7] = c[10]/sum;s[8] = c[14]/sum;s[9] = c[3]/sum;s[10] = c[7]/sum;s[11] = c[11]/sum;s[12] = c[15]/sum;s[13] = c[4]/sum;s[14] = c[8]/sum;s[15] = c[12]/sum;s[16] = c[16]/sum;printf("%2.f\n",sum);for(i=1;i<=4;i++){printf("%.2f %.2f %.2f %.2f\n",s[(i-1)*4+1],s[(i-1)*4+2],s[(i-1)*4+3],s[(i-1)*4+4]);}
}
csdn人生第一帖 有木有好心人能给点小建议nei
矩阵求逆器(最高4阶 大一新牲的代码相关推荐
- 邀您参与 | 阿里巴巴如何扩展 K8s 调度器支持 AI 和大数据任务?
简介:2020 年 7 月 15 日上午 10:00,<阿里巴巴如何扩展 K8s 调度器支持 AI 和大数据任务?>主题线上网络研讨会即将召开. 随着 Kubernetes 的广泛应用,越 ...
- 【博客507】学习阿里巴巴如何扩展Kubernetes 调度器支持 AI 和大数据作业
学习阿里巴巴如何扩展Kubernetes 调度器支持 AI 和大数据作业
- x-studio(Lua调试器,粒子编辑器,UI编辑器,代码编辑器,csb恢复工具)
最新版本:x-studio 10.0.9000.29(2020年4月14日更新) 官网: https://x-studio.net 官方教程: https://docs.x-studio.net x- ...
- Java14发布,16大新特性,代码更加简洁明快
2020/3/17日JDK14正式发版,生产环境用不用再说,赶紧下载下来体验一番.不过据说该版本并不是长期版本,但即使再发布新版本也是在此基础上的. 另外,想体验Java14还是需要一些准备工作的,除 ...
- 【Java】 三国大乱斗部分代码
[Java 三国大乱斗部分代码] 前言 一.游戏最终实现效果是什么? 二.游戏框架 三.游戏代码 1.GameFrame类 2.GamePanel类 3.ImageUtil类 4.LvBu类 5.Zh ...
- Hugging Face实战(NLP实战/Transformer实战/预训练模型/分词器/模型微调/模型自动选择/PyTorch版本/代码逐行解析)下篇之模型训练
模型训练的流程代码是不是特别特别多啊?有的童鞋看过Bert那个源码写的特别特别详细,参数贼多,运行一个模型百八十个参数的. Transformer对NLP的理解是一个大道至简的感觉,Hugging F ...
- 《探索文心千帆大模型平台: 代码编写从此变得轻松》
文章目录 前言 一.初识文心千帆 1.1 功能丰富 1.2 注册登录 二.内置第三方大模型 2.1 ERNIE-Bot模型 2.2 ERNIE-Bot-turbo模型 2.3 BLOOMZ-7B模型 ...
- SAP MM 初阶之不常用事务代码MEBV
SAP MM 初阶之不常用事务代码MEBV 今天从一个同行那里听到事务代码MEBV(extend agreement),可以用于在年底的时候顺延或者说扩展合同的.这个事务代码笔者从未用过,也没有听说过 ...
- php实现两个大整数求和,PHP计算两个特别大的整数实例代码
这篇文章主要介绍了关于PHP计算两个特别大的整数实例代码,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 废话不多说了,具体代码如下所示: function getIntAdd($a,$ ...
最新文章
- 树莓派 docker homeassistant_利用树莓派追踪飞机航行轨迹的骚姿势分享(转载)
- 用vue做项目的一些总结
- 学习笔记(20):Python网络编程并发编程-互斥锁与join的区别
- mysql强制禁止使用索引_MYSQL强制使用索引和禁止使用索引
- abap开发注释快捷键_让ABAP开发者更加轻松的若干快捷键
- 新年新服务: MVP 播客上线
- linux中如何解决文件已删除但空间不释放的案例
- 使用辅助任务来提升情感分类领域适应
- Unity中制作小地图
- mysql hash分区 子分区_mysql分区管理 - hash分区
- wifidog php源码 配置,wifidog官方源码
- 1、51单片机——郭天祥课后习题解答
- Redis数据结构之字符串对象
- 手机微信广告页html代码,微信公众号h5网页被嵌入广告 不知道什么原因
- Java Swing实现画板,可以打开,保存,基本图形,画笔设定
- 经验分布函数与格里纹科定理
- GitHub 开源的超简单头像生成器,网友:好Q啊
- HTML中的动画效果
- 安卓新闻客户端(二) JSOUP解析HTML 抓取网页内容
- 单片机c语言表达式与的关系,单片机c语言教程第七章--运算符和表达式(关系运算符)...