#include <iomanip.h>
#include <conio.h>
#include <stdio.h>
void main()
{
int i,j,k,t,n,m,hang;
float a[10][10],temp,luu;
clrscr();
cout <<"\nBan muon tinh hang ma tran cap n*m (1<=n,m<=10)";
do{
printf("\nHay nhap n=");
scanf("%d",&n);
}while(n>10||n<1);
do{
printf("\nHay nhap m=");
scanf("%d",&m);
}while(m>10||m<1);
//Nhap ma tran
printf("\nNhap vao cac he so cua ma tran[%d x %d]:\n",n,m);
for(i=0;i<n;i++){
for(j=0;j<m;j++){
printf("a[%d][%d]=",i+1,j+1);
scanf("%f",&a[i][j]);
}
printf("\n");
}
clrscr();
//In ra ma tran vua nhap vao
printf("\n Ma tran vua nhap vao la:\n\n");
for(i=0;i<n;i++){
for(j=0;j<m;j++){
printf("%3.2f\t",a[i][j]);
}
printf("\n");
}
i=0;j=0;
while(i<n&&j<m){
if(a[i][j]==0){
for(t=i+1;t<n;t++)
if(a[t][j]!=0)
{
for(k=i;k<m;k++)
{
temp=a[t][k];
a[t][k]=a[i][k];
a[i][k]=temp;
}
break;
}
if(t==n)j++;
}
if(a[i][j]!=0){
for(t=i+1;t<n;t++)
if(a[t][j]!=0){
luu=a[t][j];
for(k=j;k<m;k++)
a[t][k]=a[t][k]-a[i][k]*luu/a[i][j];
}
i++;j++;
}
}
printf("\nViet lai ma tran vua nhap vao :\n\n");
for(i=0;i<n;i++){
for(j=0;j<m;j++){
printf("%3.2f\t",a[i][j]);
}
printf("\n");
}
hang=n;
for(i=0;i<n;i++){
for(j=0;j<m;j++)
if(a[i][j]!=0)break;
if(j==m)hang--;
}
printf("\nHang cua ma tran la:%d",hang);
getch();
}