练习3—元素最大值

简介: 练习3—元素最大值

题目

有一个3*4矩阵,数据为{1, 2, 3, 4}, {9, 8, 7, 6}, {-10, 10, -5, 2},编写程序,通过比较输出最大元素的值及其所在的行标和列标。

解题步骤

(1)理解 3 * 4 矩阵;

(2)循环求最大值;

(3)保存行列标;

(4)输出;

Java

public class Demo {
    public static void main(String[] args) {
        int[][] array = {{1, 2, 3, 4}, {9, 8, 7, 6}, {-10, 10, -5, 2}};
        int i, j, Max = array[0][0], x = 0, y = 0;
        for (i = 0; i < 3; i++) {
            for (j = 0; j < 4; j++) {
                if (array[i][j] > Max) {
                    Max = array[i][j];
                    x = i;
                    y = j;
                }
            }
        }
        System.out.println("Max=" + Max);
        System.out.println("array index:" + "[" + x + "]" + "[" + y + "]");
    }
}

说明

注意区分Java语言中三种数组初始化的方式:

array=new type[][]{值 1,值 2,值 3,…,值 n};
array=new type[][]{new 构造方法(参数列表),…};
type[][]array={{第1行第1列的值,第1行第2列的值,…},{第2行第1列的值,第2行第2列的值,…},…};

C语言

#include <stdio.h>
int main(){
    int array[][4]={1,2,3,4,9,8,7,6,-10,10,-5,2},i,j,Max=array[0][0],x,y;
    for(i=0;i<3;i++){
        for(j=0;j<4;j++){
            if(array[i][j]>Max){
                Max=array[i][j];
                x=i;
                y=j;
            }    
        }
    }            
    printf("Max=%d\n",Max);
    printf("array index:[%d][%d]",x,y);
    return 0;
}

说明

重在如何保存下标,循环的确是每个数据都进行比较,但是,若队列后面的数据不满足array[i][j]>Max条件的话,也不会保存它们的下标。所以,直接在循环中增加赋值,以起到保留最大值下标的效果。


相关文章
|
1月前
|
搜索推荐 Java 数据处理
|
6月前
|
机器学习/深度学习 算法 测试技术
【单调栈】3113. 边界元素是最大值的子数组数目
【单调栈】3113. 边界元素是最大值的子数组数目
|
3月前
|
C++ 索引
C++数组、vector求最大值最小值及其下标
C++数组、vector求最大值最小值及其下标
114 0
|
6月前
|
机器学习/深度学习 算法 数据处理
盘点四种计算数组中元素值为1的个数的方法
盘点四种计算数组中元素值为1的个数的方法
88 0
|
6月前
|
弹性计算 运维 算法
证书编号最大值
【4月更文挑战第30天】
30 0
|
11月前
不用数组求多个数的最小值
不用数组求多个数的最小值
42 0
7-10 求最大值及其下标
本题要求编写程序,找出给定的n个数中的最大值及其对应的最小下标(下标从0开始)。
113 0
|
存储
返回集合中最大,最小的元素,再将元素进行排序
返回集合中最大,最小的元素,再将元素进行排序
59 0
交换最小值和最大值
交换最小值和最大值
163 0
2574. 左右元素和的差值
给你一个下标从 0 开始的整数数组 nums ,请你找出一个下标从 0 开始的整数数组 answer ,其中: answer.length == nums.length answer[i] = |leftSum[i] - rightSum[i]| 其中: leftSum[i] 是数组 nums 中下标 i 左侧元素之和。如果不存在对应的元素,leftSum[i] = 0 。 rightSum[i] 是数组 nums 中下标 i 右侧元素之和。如果不存在对应的元素,rightSum[i] = 0 。 返回数组 answer 。  
75 0