矩阵最大值(解题报告)

来源:互联网 发布:java synchronized原理 编辑:程序博客网 时间:2024/06/08 14:36

题目描述

编写一个程序输入一个mXn的矩阵存储并输出,并且求出每行的最大值和每行的总和。要求把每行总和放入每行最大值的位置,如果有多个最大值,取下标值最小的那一个作为最大值。 最后将结果矩阵输出。
输入描述:
输入的第一行包括两个整数m和n(1<=m,n<=100),分别代表矩阵的行和列的维数。接下来的m行每行有n个数,代表矩阵的元素。


输出描述:
可能有多组测试数据,对于每组数据,输出按题目要求执行后的矩阵。

输入例子:
3 31 1 11 1 11 1 13 33 2 32 3 23 2 3

输出例子:
3 1 13 1 13 1 18 2 32 7 28 2 3

解题思路:细节题,题目本身不难, 一边读取一边计算,省时间。


package huazhongUniversity;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class ArraysMaxValue {public static void main(String[] args)throws IOException {// TODO Auto-generated method stubBufferedReader br=new BufferedReader(new InputStreamReader(System.in));String line="";while((line=br.readLine())!=null){String [] strs=line.split(" ");int m=Integer.parseInt(strs[0]);int n=Integer.parseInt(strs[1]);int [][]a=new int[m][n];for(int i=0;i<m;++i){line=br.readLine();strs=line.split(" ");int max=Integer.MIN_VALUE;int sum=0;int index=0;for(int j=0;j<n;++j){a[i][j]=Integer.parseInt(strs[j]);sum+=a[i][j];if(a[i][j]>max){max=a[i][j];index=j;}}a[i][index]=sum;}printArrays(a);}}public static void printArrays(int [][] a){for(int i=0;i<a.length;++i){for(int j=0;j<a[i].length-1;++j){System.out.print(a[i][j]+" ");}System.out.println(a[i][a[i].length-1]);}}}



阅读全文
0 0
原创粉丝点击