calculate the number of odd fence values instead of printing them
조회 수: 12 (최근 30일)
이전 댓글 표시
Sample Output:
Given A = [ 5, 4, 6, 7, 3 ; 1, 2, 3, 4, 5 ; 5, 6, 4, 2, 4 ; 4, 5, 3, 2, 1]
% output demo
There are 9 odd values in the fence.
% This is my code
% given a matrix
A = [5,4,6,7,3;1,2,3,4,5;5,6,4,2,4;4,5,3,2,1];
% Get the number of rows and columns
[m,n] = size(A);
odd = 0;
for i = 1:m % number of rows
for j = 1:n % number of column
if (mod(A(i),2)~= 0) % if the element is not equal to zero, this is odd values
odd = odd + 1;
end
end
end
fprintf("There are %d odd values in the fence",odd);
There are 9 odd values
but in my code, it is shows There are 15 odd values in the fence.
How to improve this code?
채택된 답변
Voss
2022년 3월 28일
if (mod(A(i,j),2)~= 0)
Use A(i,j) instead of A(i)
댓글 수: 4
Image Analyst
2022년 3월 28일
And why do you say there are 9 values? My code below shows there are 10 values. Why do we disagree? Which one did I count that you say should not be counted?
추가 답변 (1개)
Image Analyst
2022년 3월 28일
A = [ 5, 4, 6, 7, 3 ; 1, 2, 3, 4, 5 ; 5, 6, 4, 2, 4 ; 4, 5, 3, 2, 1]
numOddNumbers = nnz(rem(A, 2))
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Logical에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!