Using nested loops, write a Matlab program that goes through all elements of a matrix (2D array) and replaces every element that is either a multiple of 5 or 7 with -1.

3 views (last 30 days)
This is what I have so far...
A=input('enter an array');
num_rows = size(A,1);
num_cols = size(A,2);
for i=1:1:num_rows
for j=1:1:num_cols
if A(i,j)/ 5 or 7 = integer
fprintf('-1')
end
end
end
I'm not sure how to identify the multiples of 5 and 7 and make them replace that with the -1

Answers (1)

Roger Stafford
Roger Stafford on 2 Apr 2018
Your test on a number x from your array can be:
if round(x/5)==x/5 | round(x/7)==x/7
(Doing fprintf('-1') just prints out "-1" and is totally useless for your purposes.)
  2 Comments
Ciara Gornoski
Ciara Gornoski on 2 Apr 2018
Edited: Walter Roberson on 2 Apr 2018
I did this and I'm still not getting anything.
A=input('enter an array');
num_rows = size(A,1);
num_cols = size(A,2);
for i=1:1:num_rows
for j=1:1:num_cols
if round(A(i,j)/5)==A(i,j)/5 || round(A(i,j)/7)==A(i,j)/7
end
end
end
I'm just able to input an array but it doesn't give me an output.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!