360Kpop LogoGame cho Sky

Bài Tập lớn Môn C/C++ phần Ma Trận



// PHAN 2 : MA TRAN

#include <stdio.h>
#include <conio.h>
#include <math.h>
void nhapmt(int a[9][9],int m , int n)
{ for ( int i=0;i<m;i++)
for (int j=0;j<n;j++)
      { printf("\ nhap a[%d]:[%d]",i,j);
scanf("%d,%d",&a[i][j]);
}
}
void xuat_mt(int a[9][9],int m , int n)
{ for (int i=0;i<m;i++)
{printf("\n");
for (int j=0;j<n;j++)
{ printf("%d  ",a[i][j]);
  // printf("\n");
 }
}
}
// max tren toan ma tran
void maxmatran(int a[9][9],int m , int n)
{        int max;
max= a[0][0];
for (int i=0;i<m;i++)
{
for (int j=0;j<n;j++)
{
if( max < a[i][j]  )
max=a[i][j];
}
}
printf("\n phan tu lon nhat tren ma tran la %d : ",max);
}
//max theo tung hang
void max_hang(int a[9][9],int m , int n)
{
int maxhang,max;
for (int i=0;i<m;i++)
{ max=a[i][0];
for (int j=0;j<n;j++)
{
if( max < a[i][j]  )
max=a[i][j];
}
printf(" max cua hang a[%d][0] la : ",i);
printf("%d",max);
printf("\n");
}

}
//max theo tung cot
void max_cot(int a[9][9],int m , int n)
{
int maxcot,max;
for (int j=0;j<m;j++)
{ max=a[0][j];
for (int i=0;i<n;i++)
{
if( max < a[i][j]  )
max=a[i][j];
}
printf(" max cua cot a[%d][0] la : ",i);
printf("%d",max);
printf("\n");
}

}
//chuyen vi ma tran
void chuyen_vi(int a[9][9],int e[9][9],int m , int n)
 {
    int i,j;  
    for (i=0;i<n;i++)
        for (j=0;j<m;j++)
            {a[i][j]=e[j][i];
}
}
// tim so nguyen to tren toan ma tran
int snt(int a)
{
    if (a<=1) return 0;
    for (int i=2;i<a;i++)
        if (a%i==0) return 0;
else
    return 1;  
}
//tich ma tran
void tich_mt(int c[9][9],int a[9][9],int b[9][9],int m , int n)
{ int k;
for(int i=0;i<m;i++)
for(int j=0;j<n;j++)
{
c[i][j]=0;
for (k=0;k<m;k++)
c[i][j]=c[i][j]+a[i][k]*b[k][j];
}
}
// cong 2 ma tran
void cong_mt(int d[9][9],int a[9][9],int b[9][9],int m , int n)
{
 int i, j;
 for (i=1;i<=m;i++)
  for (j=1;j<=n;j++)
  {
  d[i][j]=0;
  d[i][j]=a[i][j]+b[i][j];
  }
}
//so hoan hao
/*bool SoHoanHao(int n)
{
    int temp=0;
    for (int i=1;i<n;i++)
for (int j=0;j<m;j++)
        if (a[i][j]%i==0)
            temp=temp+i;
    if (temp==n)
        return true;
    else
        return false;
}
*/
//chuong trinh chinh


void main()
{
clrscr();
int a[9][9];
int a2[9][9];
int c[9][9];
int d[9][9];
int e[9][9];
int m,n,m2,n2;
 int i,j;
 int tong=0;
printf("\n nhap so hang : ");
scanf("%d",&m);
printf("\n nhap so cot : ");
scanf("%d",&n);
nhapmt(a,m,n);
printf("\n da nhap xong , bam enter de xem ket qua ");
getch();
printf("\n ma tran ban vua nhap la : ");
xuat_mt(a,m,n);
printf("\n");
maxmatran(a,m,n);
printf("\n");
max_hang(a,m,n);
max_cot(a,m,n);
//in ra cac so nguyen to trong ma tran
printf("\n \n cac so nguyen to trong mang va vi tri cua chung \n");
    for (i=1;i<=n;i++)
for (j=1;j<=m;j++)
   if (snt(a[i][j])==1)
printf("\n %d - a[%d][%d]",a[i][j],i,j);
printf("\n bam enter de sap xep");
getch();
// sap xep lai ma tran
 //sap xep theo hang
    for(i=0;i<m;i++)
        for(j=0;j<n-1;j++)
            for(int k=j+1;k<n;k++)
                if (a[i][j]>a[i][k])
                {
                    int tam=a[i][j];
                    a[i][j]=a[i][k];
                    a[i][k]=tam;
                }
        // sap xep theo cot
    for(i=0;i<n;i++)
        for(j=0;j<m-1;j++)
            for( k=j+1;k<m;k++)
                if (a[j][i]>a[k][i])
                {
                    int tam=a[j][i];
                    a[j][i]=a[k][i];
                    a[k][i]=tam;
                }
    printf("\n ma tran sau khi sap xep tang dan la :\n");
    for(i=0;i<m;i++)
    {
        for(j=0;j<n;j++)
            printf("%d\t",a[i][j]);
        printf("\n");
    }
printf("\n ma tran chuyen vi");
//ma tran chuyen vi
chuyen_vi(a,e,m,n);
xuat_mt(e,m,n);
printf("\n bam enter de xem tong cac phan tu tren duong cheo chinh ");
getch();
//tinh tong duong cheo chinh
for (i=0;i<n;i++)
tong=tong+a[i][i];
 printf("\n Tong cac phan tu tren duong cheo la: %d",tong);
 getch();
 printf("\n nhap them ma tran 2 de tinh tiep :");
//nhap mt a2
printf("\n nhap so hang ma tran 2 : ");
scanf("%d",&m2);
printf("\n nhap so cot ma tran 2 : ");
scanf("%d",&n2);
nhapmt(a2,m2,n2);
printf("\n ma tran ban vua nhap la : ");
xuat_mt(a2,m2,n2);
getch();
printf("\n Tong cua 2 ma tran ");
//cong 2 ma tran
cong_mt(d,a,a2,m,n);
xuat_mt(d,m,n);
printf("\n bam enter de tinh tich 2 ma tran");
getch();
//tich 2 ma tran
tich_mt(c,a,a2,m,n);
xuat_mt(c,m,n);//xuat ra ma tran c
printf("\n bam enter de ket thuc chuong trinh");
getch();
//ket thuc chuowng trinh
getch();
}



Viết bình luận mới

Mua lịch Kpop 2013: Đồng hành cùng thần tượng trong năm mới!