MATLAB Answers

How to display the results of a for loop

조회 수: 32(최근 30일)
Jesse Schultz
Jesse Schultz 10 Sep 2019
I want to make a game of 21, that starts with the user getting two random cards and then printing out what they get, using a for loop keeps saying "Index exceeds the number of array elements(1)."
my code is
for i =1:2
card = randi([0 10]);
if (card ==0)
card = 'A'; %if the result is 0, rename it to A
end
end
fprintf("You have been given 2 cards, %d and %d" , card(i))

  댓글 수: 1

Stephen Cobeldick
Stephen Cobeldick 10 Sep 2019
This defines a scalar numeric (an integer from 0 and 10, inclusive), which you name card:
card = randi([0 10])
Your code does not do anything that changes the size of card., or allocate/concatenate/etc it into any other variable. On each loop iteration you redefine card as a new scalar.
Then after the loop (whose last iteration defines i=2) you use this code:
card(i)
card only has one element (you defined it to be scalar), but you are trying to access its 2nd element. Thus the error.

로그인 to comment.

답변 수 (1)

Urmila Rajpurohith
Urmila Rajpurohith 13 Sep 2019
As mentioned above the variable “card” is a scalar.
To display the results of for loop you can create a Null vector and append the card value to the vector and while printing the output you can print the vector.
result=[];
for i =1:2
card = randi([0 10])
if (card ==0)
card = 'A'; %if the result is 0, rename it to A
end
result=[result card];
end
fprintf("You have been given 2 cards, %d %d", result);

  댓글 수: 0

로그인 to comment.

이 질문에 답변하려면 로그인을(를) 수행하십시오.

태그


Translated by