矩阵交换行

来源:互联网 发布:蝎子网络第二季 编辑:程序博客网 时间:2024/04/30 20:53

矩阵交换行

时间限制:
1000ms
内存限制:
65536kB
描述
编写一个函数,输入参数是5*5的二维数组,和n,m两个行下标。功能:判断n,m是否在数组范围内,如果不在,则返回0;如果在范围内,则将n行和m行交换,并返回1。
在main函数中, 生成一个5*5的矩阵,输入矩阵数据,并输入n,m的值。调用前面的函数。如果返回值为0,输出error。如果返回值为1,输出交换n,m后的新矩阵。
输入
5*5矩阵的数据,以及n和m的值。
输出
如果不可交换,则输出error;
如果可交换,则输出新矩阵
样例输入
1 2 2 1 25 6 7 8 39 3 0 5 37 2 1 4 63 0 8 2 40 4
样例输出
3 0 8 2 45 6 7 8 39 3 0 5 37 2 1 4 61 2 2 1 2
提示
不需要用while循环来反复读取文件中的测试集。
输出error格式如下:
cout<< "error" << endl;
输出矩阵格式如下:
cout<< setw(4)<< num;
输出矩阵一行后要输出cout<< endl; 
import java.util.Scanner;public class Main {public static void main(String[] args){Scanner sc=new Scanner(System.in);int[][] a=new int[5][5];for(int c=0;c<5;c++){for(int d=0;d<5;d++){a[c][d]=sc.nextInt();}}int m=sc.nextInt();int n=sc.nextInt();if(f(m,n)){//n,m是否在数组范围内for(int i=0;i<5;i++){for(int j=0;j<5;j++){int k=a[m][j];a[m][j]=a[n][j];a[n][j]=k;    System.out.printf("%4d",a[i][j]);    }System.out.println();}}elseSystem.out.print("error");}public static boolean f(int x,int y){if((x>=0&&x<5)&&(y>=0&&y<5))return true; return false; }}


原创粉丝点击