Loading...
Filkolev avatar Filkolev 4482 Точки

За да подсигуриш, че няма да има повтарящи се елементи, трябва да помниш кои си взел по някакъв начин. Мисля, че най-лесно е да ползваш един HashSet, с цикъл да го пълниш докато не стане с размер 20, след което принтираш елементите му. Взимането на произволен елемент от масива става с Random, който ти връща произволен индекс.

2
ttitto avatar ttitto 1153 Точки

Това е по-доброто предложение, защото HashSet пази само уникални елементи и достъпът до тях след това е много бърз. Само че като ги вкарваш трябва да го правиш с while цикъл и проверка по бройката елементи в seta, защото ако го правиш с for цикъл с 20 итерации, ако си случил на повтарящи се ще имаш по-малко бройки в сета накрая.

1
GoShow avatar GoShow 595 Точки

Здрасти! Най-лесния вариант е да ги набуташ в масив или списък и при въвеждането на ново число да проверяваш дали се съдържа вече в масива, ако не - добавяш го. Когато станат 20 принтираш.

1
NikiKolchev avatar NikiKolchev 4 Точки

Точно това искам да направя, но не мога да го измисля, предпологам, че с един if else ще стане, но не мога да го измисля.

1
15/03/2015 17:06:15
GoShow avatar GoShow 595 Точки

Ако не си запознат със списъците, направи го - безкрайно полезно е. Ето каква е идеята създаваш списък от int(ако са ти int числата)

List<int> yourList = new List<int>(); (ако не сработи виж какъв using трябва да добавиш).

Не искам да ти казвам всичко, за да намериш в нета каквото ти е нужно, това е много полезно.

После във while цикъл си генерираш числата м/у 0 и 80. Когато станат 20 спираш(в List не е length, a count т.е. yourList.count).

Добавянето става с yourList.Add(number) - където number e генерираното вече число.

И оставя преди да го добавиш да провериш дали го има т.е.

if(!yourList.Contains(number))

{

      yourList.Add(number)

}

Какво прави този код - ако не се съдържа това число вече - добави го. Така си сигурен, че няма да се повтори. Ако това ти е трудно варианта с масив е с повече писане.

Пускаш един цикъл до дължината на масива и проверяваш всяко едно число от него дали е равно на текущото генерирано. Ако да - break, ако не - добавяш го. Пусни някакъв код, който си написал, ако не успееш, да ти дам насоки. Успех!

0
15/03/2015 17:22:25
NikiKolchev avatar NikiKolchev 4 Точки

С масивите съм една идея по-запознат за това мислех с тях да се пробвам, сега ще видя със списаците, благодаря ти много за помоща ! 

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.