Header Ads

Bài Tập Java Số 14: Tính Ma Trận Chuyển Vị

Đề bài

Viết chương trình tính ma trận chuyển vị. Chương trình phải có các hàm đảm nhận các chức năng sau: nhập ma trận, tính ma trận chuyển vị, và xuất thông tin của ma trận. Yêu cầu truyền các ma trận vào, ra cho các hàm này.

Giải thuật

Ma trận chuyển vị là một ma trận ở đó các hàng được thay thế bằng các cột, và ngược lại.

Code mẫu

package baitap14;

import java.util.Scanner;

public class baitap14 {
 public static void nhapmatran(int[][]a, int m, int n)
 {
    int hang, cot;
    Scanner nhap = new Scanner(System.in);
    for(int i=0;i<m;i++)
    {
       for(int j=0;j<n;j++)
       {
          hang=i+1;
          cot=j+1;
          System.out.println("Nhap phan tu hang "+hang+" cot "+cot+" cua ma tran");
          a[i][j]= nhap.nextInt();
       }
    }  
 }
 
 public static void mtchuyenvi(int[][]a,int[][]b, int m, int n)
 {
    for(int i=0;i<n;i++)
    {
       for(int j=0;j<m;j++)
       {
          b[i][j]=a[j][i];
       }
    }
 }
 
 public static void xuatmatran(int[][]b, int m, int n)
 {
    for(int i=0;i<n;i++)
    {
      for(int j=0;j<m;j++)
      {
         if(j==m-1)
           System.out.print(b[i][j]+"\n");
         else
           System.out.print(b[i][j]+"  ");
      }
   }
 }

 public static void main(String[] args) {
    int m=0;
    int n=0;
    Scanner nhap = new Scanner(System.in);
    System.out.println("Nhap so hang cua ma tran");
    m = nhap.nextInt();
    System.out.println("Nhap so cot cua ma tran");
    n = nhap.nextInt();
    int a[][] = new int[m][n]; 
    int b[][]= new int[n][m];
    nhapmatran(a,m,n);  
    mtchuyenvi(a,b,m,n);
    xuatmatran(b,m,n);
 }
}

Không có nhận xét nào

Được tạo bởi Blogger.