Đề 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);
}
}
Post a Comment