Problem 32. Most nonzero elements in row

2 vues (au cours des 30 derniers jours)
ricardo gunawan
ricardo gunawan le 15 Juil 2013
function r = fullest_row(a)
x=sum(a==0);
y=max(x);
row=0;
for i=1:length(x)
if x(i)==y
row=i;
end
r=row;
end
whats wrong with the code???
  2 commentaires
Azzi Abdelmalek
Azzi Abdelmalek le 15 Juil 2013
Modifié(e) : Azzi Abdelmalek le 15 Juil 2013
Give a short example: a= ... and what should be the result?
Jan
Jan le 15 Juil 2013
@ricardo: Please do not let us solve your Cody problems. This is not the intention of this game and of this forum.

Connectez-vous pour commenter.

Réponse acceptée

Matt J
Matt J le 15 Juil 2013
Modifié(e) : Matt J le 15 Juil 2013
Probably this line
x=sum(a==0);
should really be this
x=sum(any(a),2);
The whole thing looks like it could be done in 1 line
[~,row]=max( sum(any(a),2) );
  1 commentaire
ricardo gunawan
ricardo gunawan le 15 Juil 2013
thx that help alot anyway the code i modified a little
[~,row]=max( sum(a~=0,2) );
where do you learn and pratice matlab? i want to learn it fully

Connectez-vous pour commenter.

Plus de réponses (1)

Azzi Abdelmalek
Azzi Abdelmalek le 15 Juil 2013
I don't know what should be the result r, but I can see that the value of r is erased each loop
r=rows
maybe you can initialize r
r=[]
then write
r(end+1)=rows

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by