给定一个二维数组,4*4,共16个数据,找出其中最大数和最小数的行,列位置,

作者&投稿:通购 (若有异议请与网页底部的电邮联系)
int max, min, maxi, maxj, mini, minj;
mini=minj=maxi=maxj=0;
max=min= a[0][0];
for(int i=0;i< 4;i++)
for(int j=0;j< 4;j++){
if(a[i][j]>max) {max=a[i][j]; maxi=i; maxj=j;}
if(a[i][j]<min) {min=a[i][j]; mini=i; minj=j;}
}
printf("最大值为:%d,行:%d, 列:%d\n", max, maxi, maxj);
printf("最小值为: %d, 行:%d, 列:%d\n", min, mini, minj);

用指针实现:找出二维数组(设3行4列)中的最大数及其位置~

  在内存中实际上没有二维数组的概念,可以完全看成一维数组。求最大值,可以使用假设法,假设第1个元素为最大值,然后遍历数组,通过比较求出最大值即可。找到在1维数组中的维数再转换成二维数组中的维数即可。
#include int main(){int a[3][4] = {{92,108,3000,1},{100,101,102,103},{799,10000,20, 0}};int *pstart = &a[0][0];int max = a[0][0];int pos = 0;for (int inx=0; inx!=12; ++inx) {if (*(pstart+inx) > max) max = *(pstart+inx), pos = inx;}printf("最大值是:%d其所在位置:a[%d][%d]
", max, pos / 4, pos % 4);return 0;}

#include



int main(int argc, const char * argv[]) {





int array[3][4]= {{1,2,3,4},{4,6,7,3},{5,7,3,1}};



for(int i = 0; i < 3; i++){



int max = array[i][0];



int m = 0;



for(int j = 1; j < 4; j++){



if(max < array[i][j]){



max = array[i][j];



m = i;

}

}



printf("第%d行最大值是%d,下标是%d
",i,max,m);

}



return 0;

}

C#中要将0-15这16个数存入一个4*4的二维数组中,该怎么做?
答:int[,] matrix=new int[4,4];int x=0;for(int i=0;i<4;i++){ for(int j=0;j<4;j++)matrix[i,j]=x++;} 或者 int[,] matrix=new int[4,4]{{0,1,2,3},{4,5,6,7},{8,9,10,11},{12,13,14,15}};

利用随机函数产生16个随机整数给一个4*4的二维数组赋值。 按行列输出...
答:您好,这样的:a = round(100*rand(4,4)); %生成0-100的随机4*4矩阵 a(1,:) %输出第一行 ...a(:,1) %输出第一列 ...sum([a(1,:) a(2,1) a(2,4) a(3,1) a(3,4) a(4,:)]) %求最外圈元素的和。

有两题,想了很久都想不到应该怎么写,哪位大侠帮帮忙啊?
答:所以4*4的二维数组,在计算机中是一个16个数组成员线性连续存储的数组。 完全可以通过一维下标来定位和遍历。 例如:就存储位置来说,a[0][0]就是a[0],a[1][2]就是a[5],a[4][4]就是a[15] 所以这一题就可以将二维数组录入后(例如定义为a[4][4]),对于a[16]的数组进行排序。 这个应该没问题吧,...

编写一个程序,定义一个4行4列的int型数组,从键盘输入16个相符的数存入...
答:include"stdio.h"void main(){ int i,j,a[4][4],s=0;printf("输入数据\n");for(i=0;i<4;i++)for(j=0;j<4;j++)scanf("%d",&a[i][j]);for(i=0;i<4;i++)for(j=0;j<4;j++)s+=a[i][j];printf("所有数的和为:%d\n",s);} ...

vb编程 随机产生16个1 位整数,存入4行4列二维数组中,求对角线上个元素...
答:Private Sub Command1_Click() Cls Dim arInt(1 To 4, 1 To 4) As Integer Dim r As Integer, c As Integer For c = 1 To 4 For r = 1 To 4 arInt(r, c) = Int(Rnd * 10) Print arInt(r, c); Next Print Next Dim mun As Integer ...

设计一个4*4的二维数组,运用for循环讲数组初始化,赋值为1~16,并通 ...
答:include "stdio.h"int main(){ int a[4][4]={0}; int i,j,k=1; for(i=0;i<4;i++) { for(j=0;j<4;j++) { a[i][j]=k; printf("%3d",a[i][j]); k++; } printf("\n"); }} ...

C++ 求将一个4*4的二维数组旋转90度的算法
答:int a[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};change_adobe(a);for(int i=0;i<4;i++){ for(int j=0;j<4;j++){ printf("%3d",a[i][j]);} printf("\n");} } 13 9 5 1 14 10 6 2 15 11 7 3 16 12 8 4 请按任意键继续....

...#include"stdio.h" main() { int c[][4]={1,2,3,4,5,6
答:就是输出 c[2][2] c[1][1] 十六进制形式 c[][4]={1,2,3,4,5,6,7,34,213,56,62,3,23,12,34,56} 4个数为一行,也就是 几行4列的二维数组 总共16个数 就是 4行4列 数组的下标从0开始的 所以 C[1][1] 表示的就是第二行第二列的数 也就是6 所以...

C语言。定义一4*4二维数组,找出其中最小元素所在行,若不在第一行,则...
答:for(i=0;i<4;i++){ for(j=0;j<4;j++)printf("%d ",a[i][j]);printf("\n");} for(i=0;i<4;i++)for(j=0;j<4;j++)if(a[i][j]<min){ min=a[i][j];min_index=i;} if(min_index!=0){ printf("The min value of this matrix is not in row 1.\nThe new...

定义4*4的二维数组,输入数据并求其鞍点,若存在输出该点,并输出其下标...
答:include<stdio.h> int main(){ int a[4][4];int n=4,i,j,x,y,k,max,min,flag=0;for(i=0;i<n;i++)for(j=0;j<n;j++)scanf("%d",&a[i][j]);for(i=0;i<n;i++) //扫描所有的行 {max=a[i][0]; y=0; //首元素先作为行上“最大”的数 for(k=1;k<...