c++排名问题,求指点!

c++排名问题,求指点!,第1张

首先排序程序段有问题,其次好象没有解决并列第2的问题,请参考下面程序:

void main()

{ int a,b[100],c,t,i,j,n,k,d[100]

cin>>a

for ( i=0i<ai++ ) cin>>b[i]

for ( i=0i<a-1i++ )

for ( j=i+1j<aj++ )

if ( b[i]<b[j] ) { t=b[i]b[i]=b[j]b[j]=t}

t=k=1n=b[0]d[0]=1

for ( i=1i<ai++ )

{ k++if ( b[i]==n ) d[i]=telse { d[i]=kt=k}

n=b[i]

}

cin>>cfor ( i=0i<ai++ ) if ( b[i]==c ) { cout<<d[i]<<endlbreak}

}

首先,图中这段程序是找出3行4列的二维数组中最大的数并记录这个数的所在的行数和列数。

至于两个for循环并列如何理解:

当i=0时,j=0,1,2,3 扫描第1行的第1,2,3,4列有没有比max大的数,有就更新max的值并记录下来行数和列数;

当i=1时,j=0,1,2,3 扫描第2行的第1,2,3,4列有没有比max大的数,有就更新max的值并记录下来行数和列数;

当i=2时,j=0,1,2,3 扫描第3行的第1,2,3,4列有没有比max大的数,有就更新max的值并记录下来行数和列数;

如此迭代是不是就能找出3行4列的二维数组中最大的数并记录这个数的所在的行数和列数了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11138640.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存