精华内容
下载资源
问答
  • 一维数组的最大值及其下标
    千次阅读
    2021-11-21 12:42:32

     

    先读入一个整数n,接着读入n个整数,在这n个整数中通过先找最大值下标的方法,找到最大值。

    #include <stdio.h>
    #define N (100)
    int main( )
    {
    	int n,i,maxid;
    	int a[N];
    	scanf("%d",&n);
    	for(i=0;i<n;i++)
    	{
    	    scanf("%d",&a[i]);//录入n个数存到数组中
    	}
    	maxid=0;
    	for(i=0;i<n;i++)
    	{
    	    if(a[maxid]<a[i])
    	    {
    	        maxid=i;
    	    }
    	}
    	printf("id of max:%d",maxid);
    	return 0;
    }
    
    更多相关内容
  • 查找二维数组最大值及其下标

    请编写函数查找二维数组的最大值和最大值对应的行和列下标。通过函数值返回最大值。在主函数中赋予二维数组的值(二维数组为 MN,M 和 N 和符号常量确定),调用函数 fun 实现相关的功能,并在主函数中将最大值和行和列下标输出。输入和输出应有相关的提示信息。*

    #define  _CRT_SECURE_NO_WARNINGS /*防止scanf使用报错*/
    #include<stdio.h>
    #define M 5
    #define N 5
    
    int seekMax(int(*data)[N], int m, int n);
    
    int main()
    {
    	int data[M][N] = {
    		{1,5,8,3,6},
    		{8,6,9,48,62},
    		{19,33,56,-66,48},
    		{13,999,51,23,54},
    		{9,4,8,-99,0}
    	};
    	int Max;
    	Max = seekMax(data, M, N);
    	printf("max = %d\n", Max);
    	printf("\n");
    	return 0;
    }
    
    //找寻数组最大元素与其具体位置
    int seekMax(int(*data)[N], int m, int n)
    {
    	int maxNum = data[0][0];
    	int i, j, max_i = 0, max_j = 0;
    
    	for (i = 0; i < m; i++)
    	{
    		for (j = 0; j < n; j++)
    		{
    			if (maxNum < *(*(data + i) + j))
    			{
    				maxNum = *(*(data + i) + j);
    				max_i = i;
    				max_j = j;
    			}
    		}
    	}
    	printf("max_i = %d , max_j = %d\n", max_i, max_j);
    	return maxNum;
    }
    
    

    在这里插入图片描述

    展开全文
  • cpp代码-(一维数组)声明10个数组元素并输入元素,找出最大值及其下标
  • 请问这个为什么运行结果是显示第个,我觉得程序有问题,但是察觉不出来,希望能有人能够解答问题。
  • 主要介绍了PHP获取数组最大值下标的方法,涉及php中max及array_search等函数操作数组的相关技巧,需要的朋友可以参考下
  • #include <... // 下标 printf("请输入第1个数:"); scanf("%d",&a[0]); max=a[0]; min=a[0]; p1=0; p2=0; for(i=1;i<n;i++){ printf("请输入第%d个数:",i+1); scanf("%d",&a[i]);

    方法一:①常规计算(定值型)

    #include <stdio.h>
    #define n 3 //存放数字个数
    int main(){
    	int max=0,min=0,a[n],i=0; 
    	int p1=0,p2=0; // 下标
    	
    	for(i=0;i<n;i++){
    		printf("请输入第%d个数:",i+1);
    		scanf("%d",&a[i]);
    	}
    	max=min=a[0];
    	for(i=0;i<n;i++){
    		if(a[i]>max){
    			max=a[i];
    			p1=i;
    		}
    		if(a[i]<min){
    			min=a[i];
    			p2=i;
    		}
    	}
    	printf("第%d个数为最大值\n",p1+1);
    	printf("最大值为:%d\n",max);
    	printf("第%d个数为最小值\n",p2+1);
    	printf("最小值为:%d\n",min);
    	return 0;
    }
    

    方法一:②常规计算(定值型)

    #include <stdio.h>
    #define n 3 //存放数字个数
    int main(){
    	int max,min,a[n],i=0;
    	int p1,p2; // 下标
    	printf("请输入第1个数:");
    	scanf("%d",&a[0]);
    	max=a[0];
    	min=a[0];
    	p1=0;
    	p2=0;
    	for(i=1;i<n;i++){
    	printf("请输入第%d个数:",i+1);
    	scanf("%d",&a[i]);
    		if(a[i]>max){
    			max=a[i];
    			p1=i;
    		}
    		if(a[i]<min){
    			min=a[i];
    			p2=i;
    		}
    	}
    	printf("第%d个数为最大值\n",p1+1);
    	printf("最大值为:%d\n",max);
    	printf("第%d个数为最小值\n",p2+1);
    	printf("最小值为:%d\n",min);
    	return 0;
    }
    

    在这里插入图片描述

    方法二:①函数调用(交互型)

    #include <stdio.h>
    void max(int p1[],int n){
    	int i;
    	int max; 
    	int point1;//下标
    	max=p1[0];
    	point1=0;
    	for(i=1;i<n;i++){
    		if(p1[i]>max){
    			max=p1[i];
    			point1=i;
    		}
    		
    	}
    	printf("第%d个数为最大值\n",point1+1);
    	printf("最大值为:%d\n",max);
    }
    void min(int p2[],int n){
    	int i;
    	int min;
    	int point2;//下标
    	min=p2[0];
    	point2=0;
    	for(i=1;i<n;i++){
    		if(p2[i]<min){
    			min=p2[i];
    			point2=i;
    		}
    		
    	}
    	printf("第%d个数为最小值\n",point2+1);	
    	printf("最小值为:%d\n",min);
    }
    void main(){
    	int a[128],i,n;
    	printf("请输入数字个数:"); //存放数字个数
    	scanf("%d",&n);
    	for(i=0;i<n;i++){
    		printf("请输入第%d个数:",i+1);
    		scanf("%d",&a[i]);
    	}
    	max(a,n);
    	min(a,n);
    }
    

    在这里插入图片描述

    方法二:②函数调用(定值型)

    #include <stdio.h>
    void max(int p1[], int n) {
        int i;
        int max;
        int point1; //下标
        max = p1[0];
        point1 = 0;
        for (i = 1; i < n; i++) {
            if (p1[i] > max) {
                max = p1[i];
                point1 = i;
            }
        }
        printf("第%d个数为最大值\n", point1 + 1);
        printf("最大值为:%d\n", max);
    }
    void min(int p2[], int n) {
        int i;
        int min;
        int point2; //下标
        min = p2[0];
        point2 = 0;
        for (i = 1; i < n; i++) {
            if (p2[i] < min) {
                min = p2[i];
                point2 = i;
            }
        }
        printf("第%d个数为最小值\n", point2 + 1);
        printf("最小值为:%d\n", min);
    }
    
    int main() {
        int n = 3; //存放数字个数
        int a[n], i;
        for (i = 0; i < n; i++) {
            printf("请输入第%d个数:", i + 1);
            scanf("%d", &a[i]);
        }
        max(a, n);
        min(a, n);
    }
    

    在这里插入图片描述

    展开全文
  • 维数组最大最小值及其下标

    千次阅读 2021-04-24 18:43:59
    MATLAB中max和min可以有效求二维数组中的最大最小值,并且返回最大最小值的下标。但是对于三维数组,MATLAB中没有现成的函数来求最大最小值,同时返回最大最小值的下标。不过我们可以借助ind2snd这个函数来完成这个...

    MATLAB中max和min可以有效求二维数组中的最大最小值,并且返回最大最小值的下标。但是对于三维数组,MATLAB中没有现成的函数来求最大最小值,同时返回最大最小值的下标。不过我们可以借助ind2snd这个函数来完成这个任务。

    ind2sub这个函数就是将一个数字,按照我们需要的矩阵的维度去排列。然后知道我们给出的这个数字,如果作为下标的话,是对应我们设定的维度的矩阵的哪个下标。对于ind2sub这个函数来说,是按照第一个维度,到第二个维度,到第三个维度这样逐个排列的。3x2的矩阵,第一个维度是3对应的列,然后再就是2对应的行。所以,ind2sub排列出来的下标就如下所示。[(1) (4); (2) (5); (3) (6)]可以用[x,y] =ind2sub([3,2],2); 来检验,结果如下图所示。

    1709aae6020d1a7f8455bed998d8c396.png

    20x10x3的矩阵,就是,先排20那一维,再排10那一维,再排3那一维;下面就是我们在MATLAB中运行命令得到的结果。[x,y,z] = ind2sub([20,10,3],1)x = 1, y = 1, z = 1[x,y,z] = ind2sub([20,10,3],11)x = 11, y = 1, z = 1[x,y,z] = ind2sub([20,10,3],21)x = 1, y = 2, z = 1[x,y,z] = ind2sub([20,10,3],201)x = 1, y = 1, z = 2

    93c2a5e93a22f7f736e93549553b9b3d.png

    87915f4e9e1ae2dfd6379c94f3027c1f.png

    f6fa5dbc6591696ba078cd12dc3bcada.png

    2c9cfe3c9d0f4af1551d117d1e3e70ea.png

    因此,如果我们想让ind2sub按照我们想要的顺序返回值得话,就把我们要首先排列的维度放在最前面。

    20x10x3的矩阵,我们需要它先排列的是3,然后是10,然后是20。最后实际的index要按照[20,10,3]的序列再换回来。或者[z,y,x] = ind2sub([3,10,20],111);[x,y,z] = ind2sub([3,10,20],1)x = 1, y = 1, z = 1          实际index: [1,1,1][x,y,z] = ind2sub([3,10,20],11)x = 2, y = 4, z = 1          实际index: [1,4,2][x,y,z] = ind2sub([3,10,20],21)x = 3, y = 7, z = 1          实际index: [1,7,3][x,y,z] = ind2sub([3,10,20],201)x = 3, y = 7, z = 7           实际index: [7,7,3]下面为MATLAB中[z,y,x] = ind2sub([3,10,20],111)的实际执行结果。

    85a75d65590a462b6047e5599f7c762a.png

    对于下面的语句,求三维数组中最大值或者最小值的坐标,因为我们用[min_a,index] = min(A(:));这一语句,就把这边的排列A为一维数组和后面的ind2sub排列顺序对应起来了。就不用进行转化了。A = [1 2 3 4 5 6; 7 8 9 10 11 12; 13 14 15 16 0 17; 18 19 20 21 22 23; 24 25 26 27 28 29][min_value,min_index] = min(A(:))[x,y] = ind2sub([5,6],min_index) x = 3, y =5下面为MATLAB中的实际执行结果。

    19867df5c037f51bad9c6ad25c472bab.png

    31c5c374d97788b58e5e6964536a65cd.png

    展开全文
  • 1000 毫秒 内存限制: 32768 K字节 总提次数: 1145 次版权文档请勿用做商业用途 成功提交次数: 875 次版权文档请勿用做商业用途 判题规则: 严格比较 问题描述 在一个n1)个元素的一维整型数组中找出最大值下标 ...
  • java 求数组最大值及其下标

    千次阅读 2021-03-25 17:41:22
    输出数组最大值及其下标 */ package lcl02; import java.util.Scanner; public class lcl { static Scanner input = new Scanner(System.in); public static void main(String[] args) { System.out....
  • 10),再输入n个整数,输出最小值及其对应的最大下标下标从0开始)。试编写程序。 【输入形式】输入个正整数n(1<n<10),再输入n个整数(两个数之间空格) 【输出形式】输出最小值及其对应的下标 【样例...
  • 求二维数组的MAX下标 在这里我使用3行二列方便做题,仅供参考。 运行结果 代码如下 #include<stdio.h> #define N 3 #define M 2 int T(int a[N][M]); int T(int a[N][M]) { int i,j,t,max,m,n;m=0,n=0; ...
  • Java:二维数组最大值下标

    千次阅读 2020-09-28 17:49:49
    学习中遇到的个小题目:遍历二维数组,元素中的最大值下标。代码如下: package test; import java.util.Arrays; public class Test6 { public static void main(String[] args) { int[][] arr1 = new int...
  • c++实现的找出数组中最大值的程序,有输入数组函数,显示数组函数。和找出数组最大值的函数
  • 1、创建数组 代码如下: var array = new Array(); var array = new Array(size);//指定数组的长度 var array = new Array(item1,item2……itemN);...//将个或多个元素加入数组,返回新数组的长度 array.unshift(item
  • c语言高手请进1、 一维数组实验目的:掌握一维数组的定义、初始化,以及一维数组元素的下标法引用和指针法引用。实验内容:1.将数组a中的10个元素后移m位,移出的m位顺序存放在数组的前位。要求:(1)数组元素在...
  • 今天小编就为大家分享篇python+numpy按行求个二维数组最大值方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • %maxNsarvas ND 数组最大值,带下标输出% % X = MAXN(A) 返回作为第个元素跟随的最大值% 由 A 的下标表示。事先不需要知道 A 的大小% 使用。 % % X = [最大值(A) sub1 sub2 sub3 . . . 子N]; % % 如果最大值出现...
  • //声明max函数的找最大值下标的 int min(int a[], int n, int *p); //声明min函数的找最大值下标的 int main() { int a[10] = {3, 8, 6, 9, 1, 2, 3, 5, 4, 7}; int zuida,zuixiao; max(a, 10, &zuida);...
  • <p style="text-align:center"><img alt="" src="https://img-ask.csdnimg.cn/upload/1622521786978.jpg" /></p>  </p>
  • 求以下二维数组最大值及其位置;要求分别初始化和从键盘输入二维数组元素值,以矩阵形式输出该二维数组并求最大值和其行标、列标
  • 函数fun的功能是在指针a所指向的一维数组中找出其中最大的数及其下标下标存到指针b所指的变量里,函数返回最大值。 裁判测试程序样例: #include<stdio.h> #define N 10 int fun(int *a,int *b,int n); int ...
  • vb 定义个10个元素的数组,求最大值及所对应的下标以下文字资料...vb 定义个10个元素的数组,求最大值及所对应的下标dim a(10) as integerdim max as integer,i as integer,j as integer…………max=a(1):j=1for...
  • // 函数功能:求一维数组中的元素的最大值和他的下标,通过指针传给主函数 // 入口参数:int a[] 待查找的目标数组 // int n 数组中的个数 // int *MAX 数组中的最大值 // int *d 数组的下标 // 返回值:无 void fun...
  • 给定个整数n,表示数组的个数,依次读数再进行操作。 (数组从0开始读起) #include <iostream> #include<stdio.h> #include<algorithm> using namespace std; int main() { int a[10]; int...
  • 这个类包括公共的数据域row、column和maxValue,二维数组中的最大值及其下标用int型的row和column以及double型的maxValue存储。编写下面的方法,返回个二维数组最大值的位置。public static Location ...
  • 主要介绍了详解C++中的一维数组和二维数组,是C语言入门学习中的基础知识,需要的朋友可以参考下
  • 求二维数组最大值及所在行列的下标

    万次阅读 多人点赞 2018-11-22 18:17:37
    #include &lt;stdio.h&gt; main() {int i,j,row=0,colum=0,max; int a[3][4]={{1,2,3,4},{9,8,7,6},{-10,10,5,2}}; max=a[0][0]; for(i=0;i&lt;=2;i++) for(j=0;j&lt;=3;...row...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 56,490
精华内容 22,596
关键字:

一维数组的最大值及其下标