# How do you detect duplicate values within a random array?

7 views (last 30 days)
Aaron Zambiasi on 31 Mar 2020
Edited: Aaron Zambiasi on 31 Mar 2020
Write a program to find if a vector of random generated integers contains any duplicate element. Return true if any value appears at least twice in the said vector and return false if every element is distinct.
I simply have no idea how to implement this. I believe this problem requires a for loop and a series of if statements.

KSSV on 31 Mar 2020
If you want to use inbuilt functions......you can use unique. Read about it. Let A be your array.
B = unique(A) ;
if length(A)==length(B)
fprintf('No elements repeated')
else
fprintf('Elements repeated')
end

KSSV on 31 Mar 2020
Read about loops..you can use two fo rloops and comapre the elements to see, if any element is repeating.
Image Analyst on 31 Mar 2020
Aaron, not true. The lengths are different if there are repeats because unique() throws out the repeats and sorts the values. Just look
A = [1, 2, 3, 4]
B = unique(A)
fprintf('length(A) = %d. length(B) = %d.\n', length(A), length(B));
A = [1, 2, 2, 2, 9, 5]
B = unique(A)
fprintf('length(A) = %d. length(B) = %d.\n', length(A), length(B));
A =
1 2 3 4
B =
1 2 3 4
length(A) = 4. length(B) = 4.
A =
1 2 2 2 9 5
B =
1 2 5 9
length(A) = 6. length(B) = 4.
Aaron Zambiasi on 31 Mar 2020
Oh! That makes so much more sense. Thank you both so much! I apologize for my lack of understanding originally. I am still super new at this program.