目錄
- 前言
- 四道簡單的矩陣題目
- 矩陣相等判定
- 上三角矩陣判定
- 矩陣轉置
- 矩陣交換
前言
是不是有的小伙伴已經學習了線性代數,但只知道它對于我們以后計算機的學習有幫助,卻不知道具體體現在哪?
今天作者就帶你們了解一些簡單的題目,讓你知道你的線性代數沒有白學!!!

四道簡單的矩陣題目
作者保證一定基礎!編程小白也能看懂哦~
矩陣相等判定
題目描述:
系統給出兩個 n*m 的矩陣,如果兩個矩陣相等,就輸出Yes,否則輸出No,
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner in = new Scanner (System.in);
int n=in.nextInt();
int m=in.nextInt();
int [][]a=new int [n][m];
int [][]a1=new int [n][m];
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
a[i][j]=in.nextInt();
}
}
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
a1[i][j]=in.nextInt();
if(a[i][j]==a1[i][j])
{
continue;
} else {
System.out.print("No");
return;
}
}
}
System.out.print("Yes");
}
}
上三角矩陣判定
題目描述:
系統給出一個n*n的矩陣,判斷該矩陣是否是上三角矩陣,是輸出Yes,否則輸出No,
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner in = new Scanner (System.in);
int n=in.nextInt();
int [][]a=new int [n][n];
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
a[i][j]=in.nextInt();
}
}
for(int i=1;i<n;i++){
for(int j=0;j<i;j++){ //注意這里的條件,j<i,判斷下三角矩陣
if(a[i][j]==0){
continue;
}else {
System.out.println("NO");
return ;
}
}
}
System.out.println("YES");
}
}
矩陣轉置
題目描述:
系統給出n * m的矩陣,轉置為m*n的矩陣,最后列印m * n的矩陣,
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner in = new Scanner (System.in);
int n=in.nextInt();
int m=in.nextInt();
int [][]a=new int [n][m];
int [][]a1=new int [m][n];
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
a[i][j]=in.nextInt();
a1[j][i]=a[i][j]; //行等于列,列等于行
}
}
for(int i=0;i<m;i++){
for(int j=0;j<n;j++){
System.out.print(a1[i][j]+" ");
}
System.out.print("\n");
}
}
}
矩陣交換
題目描述:
矩陣交換
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner in = new Scanner (System.in);
int n=in.nextInt();
int m=in.nextInt();
int [][]a=new int [n][m];
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
a[i][j]=in.nextInt();
}
}
int k=in.nextInt();
while(k!=0){
String t=in.next();
int c=in.nextInt()-1;
int c1=in.nextInt()-1;
if(t.equals("r")){ //進行行變換,列不變
for(int j=0;j<m;j++){
int temp=a[c][j];
a[c][j]=a[c1][j];
a[c1][j]=temp;
}
}else if(t.equals("c")){ //進行列變換,行不變
for(int i=0;i<n;i++){
int temp=a[i][c1];
a[i][c1]=a[i][c];
a[i][c]=temp;
}
}
k--;
}
for(int i=0;i<n;i++){ //列印
for(int j=0;j<m;j++){
System.out.print(a[i][j]+" ");
}
System.out.print("\n");
}
}
}
上述題目來源:牛客網
最后,如果覺得作者寫的不錯的話,可以給一個點贊或者關注再走哦~
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/402472.html
標籤:其他
