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 Comment

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

Sign in to comment.

 Accepted Answer

Wayne King
Wayne King on 13 Dec 2011
x = input('Enter your number\n');
randperm(x)

6 Comments

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
Wayne King
Wayne King on 13 Dec 2011
you mean just
randperm(x)'
Wayne King
Wayne King on 13 Dec 2011
you can just do
x = input('Enter your number\n');
randperm(x)'
Wayne King
Wayne King on 13 Dec 2011
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.

Sign in to comment.

More Answers (1)

Wayne King
Wayne King on 13 Dec 2011
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?

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!