Help with for loops

Trying to create a program that asks user to input a number (integer) and then generates a list of randomly generated numbers (integers) between ‘1’ and number that user entered. Their should not be any repetition of numbers in the list.
I have this so far and I can't seem to figure out how to not repeat the #'s and to display the inputted integer. I know I have to use a if command but don't know how to execute! I have attempted to use if and else statements but I am stuck.
clc;
x = input('Enter a integer: ');
for x=1:x,
k=round(rand*x);
fprintf('%d\n',k)
end
Any Help is most appreciated.

1 个评论

Output of script should look as follows when input is entered.
Enter and Integer: 10
ans=
5
1
10
2
4
8
3
6
7
9
Thanks

请先登录,再进行评论。

 采纳的回答

x = input('Enter your number\n');
randperm(x)

6 个评论

Faster fingers!
Output of script should look as follows when input is entered.
Enter and Integer: 10
ans=
5
1
10
2
4
8
3
6
7
9
you mean just
randperm(x)'
you can just do
x = input('Enter your number\n');
randperm(x)'
Walter, you should keep your posts in the thread. Why are you trying this?
x = input('Enter a integer: ');
for x=1:x,
k=randperm(x);
fprintf('%d\n',k)
end
Do not do for x=1:x, that is not what I showed you, read the help for randperm() it gives you a random permutation up to x
Thanks!
Happy Holidays.

请先登录,再进行评论。

更多回答(1 个)

x = input('Enter a integer:\n');
y = randperm(x);
fprintf('%d\n',y);
Why are you trying to put it in to a for loop?

类别

帮助中心File Exchange 中查找有关 Loops and Conditional Statements 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by