高斯消元求矩阵秩板子。

#include<cstdio>
#include<cmath>
#include<algorithm>
#include<cstring>
using namespace std;
const double EPS=0.00000001;
#define N 105
int n,m;
double B[N][N],A[N][N];
int guass_jordan()
{
memcpy(B,A,sizeof(A));
for(int i=1;i<=n;++i)
{
int pivot=i;
for(int j=i+1;j<=n;++j)
if(fabs(B[j][i])>fabs(B[pivot][i]))
pivot=j;
swap(B[i],B[pivot]);
if(fabs(B[i][i])<EPS){
return i-1;
}
for(int j=i+1;j<=m;++j)
B[i][j]/=B[i][i];
for(int j=1;j<=n;++j)
if(i!=j)
for(int k=i+1;k<=m;++k)
B[j][k]-=B[j][i]*B[i][k];
}
return n;
}
int main()
{
while(scanf("%d%d",&n,&m)!=EOF){
memset(A,0,sizeof(A));
for(int i=1;i<=n;++i){
for(int j=1;j<=m;++j){
scanf("%lf",&A[i][j]);
}
}
printf("%d\n",guass_jordan());
}
return 0;
}

最新文章

  1. UNITY和图片像素的换算
  2. 从C++实现Ping开始说起
  3. 《InsideUE4》-4-GamePlay架构(三)WorldContext,GameInstance,Engine
  4. addevent
  5. python数据分析入门——matplotlib的中文显示问题&amp;最小二乘法
  6. ContactsContract中涉及数据库中的一些列属性值【Written By KillerLegend】
  7. TQ210裸机编程(3)——按键(查询法)
  8. UIApplication和delegate
  9. python之enumerate枚举 第二篇(六):enumerate枚举
  10. SQL Server 造成cpu 使用率高的 6 原因
  11. VS调试技巧与快捷键&amp;&amp;VS快捷键
  12. DB2简介和安装部署
  13. 编辑器之神-vim的使用
  14. LeetCode--019--删除链表的倒数第N个节点(java)
  15. Linux 第八周实验 进程的切换和系统的一般执行过程
  16. 有关cookie
  17. 20165336 实验一 Java开发环境的熟悉
  18. Racadm设置idrac
  19. 使用Python2.7 POST 数据到 onenet 平台
  20. Ajax请求php返回json对象数据中包含有数字索引和字符串索引,在for in循环中取出数据的顺序问题

热门文章

  1. node.js 开发命令行工具 发布npm包
  2. Bitmap算法应用实例(转)
  3. CART算法(转)
  4. linux系统环境 ——(四)
  5. 集合框架源码学习之LinkedList
  6. Revison
  7. 51/52单片机 TCON控制字及TMOD寄存器
  8. sicily 1063. Who&#39;s the Boss
  9. php 读写 csv文件
  10. nginx升级步骤