永发信息网

c++ 查询某元素集合 在二维数组中位置

答案:2  悬赏:0  手机版
解决时间 2021-01-22 10:45
  • 提问者网友:伴风望海
  • 2021-01-22 07:49
c++ 查询某元素集合 在二维数组中位置
列入:已有的二维数组:{(1,1,2),(1,3,4),(4,7,6),(4,3,4)……}数组内的元素不重复
找出1,3,4在数组里是第几个怎么做?
最佳答案
  • 五星知识达人网友:迟山
  • 2021-01-22 08:19
对行进行循环访问,如果改行的元素全部与要找的元素 一样,就是说明在哪一行。
全部回答
  • 1楼网友:鸠书
  • 2021-01-22 09:12
#include<stdio.h> void main() { int max(int x,int y); int min(int x,int y); int i,j,m,n,q,w,da,xiao; printf("限制数组i*j: "); scanf("%d%d",&i,&j); bool find=0; //是否找到解 int **k=new int* [i]; for(int p=0;p<i;p++) { k[p]=new int[j]; } //上面是建立一个二维动态数组的方法 printf("输入数组:\n\n"); for(m=0;m<i;m++) { for(n=0;n<j;n++) { scanf("%d",&k[m][n]); } //数组出界问题,下面的我也改了 } printf("\n\n符合条件的元素有:"); for(m=0;m<i;m++) { da=k[m][1]; q=1; for(n=0;n<j;n++) { if(max(da,k[m][n])==k[m][n]) {q=n;} da=max(da,k[m][n]); } xiao=k[m][q]; for(w=0;w<i;w++) { xiao=min(xiao,k[w][q]); } if(da==xiao) {printf(" %d",da);find=1;continue;}//有解find=1;就不会输出("无符合条件元素") } if(da!=xiao&&find==0)printf("无符合条件元素");//只有找不到时才输出 printf("\n"); } int max(int x,int y) { if(x>y) {return x;} else {return y;} } int min(int x,int y) { if(x<y) {return x;} else {return y;} }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯