P2129: 矩阵最大值

Description


编写一个程序输入一个m*n的矩阵存储并输出,并且求出每行的最大值和每行的总和。
要求把每行总和放入每行最大值的位置,如果有多个最大值,取下标值最小的那一个作为最大值。
最后将结果矩阵输出。


Input


输入的第一行包括两个整数m和n(1<=m,n<=100),分别代表矩阵的行和列的维数。
接下来的m行每行有n个数,代表矩阵的元素。


Output

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

Sample Input

2 435 1 70 25 79 59 63 65 9 382 28 62 92 96 43 28 37 92 5 3 54 93 83 22 17 19 96 48 27 72 39 70 13 68 100 36

Sample Output

35 1 131 25266 59 63 65172 28 6292 231 4328 37 1575 3 62198 83 2217 19 13248 27 14739 122 1368 204 36

import java.util.Arrays;
import java.util.Scanner;


public class P2129 {
public static void main(String[] args) {
Scanner cin= new Scanner(System.in);
int m =cin.nextInt();
int n = cin.nextInt();
int max = 0;
while(m-->0) {
int sum = 0;
int flage = 0;
int[] arr =new int[n];
for(int i=0;i<n;i++) {
arr[i] = cin.nextInt();
}
for(int i=0;i<n;i++) {
sum+=arr[i];
} //数组求和
int[] newarr = new int[n];
for(int i=0;i<n;i++) {
newarr[i] = arr[i];
}//将数组arr的内容塞到新数组newarr中
for(int i=0;i<n;i++) {
if(newarr[i]>max) {
max = newarr[i];
flage = i;
}
}//求最大值和最大值的下标
arr[flage]=sum;//将最大值替换成改行的和
for(int i=0;i<n;i++) {
System.out.print(arr[i]+" ");
}System.out.println();
}

}
}

猜你喜欢

转载自blog.csdn.net/progammer10086/article/details/80591120
今日推荐