Új hozzászólás Aktív témák
-
Alexios
veterán
pedig ahol list<int> van ott hashset<int>-nek is mennie kéne, ugyanaz a namespace

Amúgy lista.distinct() és kivannak szűrve a duplikált elemek
Illetve olvashatóbb a kódod ha egy megametódus helyett, amiket ráadásul regionnal szedsz szét, amiket most regionokbe raktál kirakod egy külön metódusba és azokat hívod meg.(főleg hogy lényegében mind ugyanazt csinálja, és 3x kell leírnod mikor egy metódusba elég lenne 1x és azt 3x meghívni)
-
Peter Kiss
őstag
Nem tudom, mi a végcél, de ilyen feladatnál előbb összeszedjük az elemeket, majd random sorrendben kiszedjük őket:
using System;
using System.Collections.Generic;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
var listOfNumbers = new List<int>();
var minValue = 1;
var exclusiveMaxValue = 6;
for (var i = minValue; i < exclusiveMaxValue; i++)
{
listOfNumbers.Add(i);
}
var randomized = new int[exclusiveMaxValue - minValue];
var random = new Random();
for (var i = 0; i < exclusiveMaxValue - minValue; i++)
{
var index = random.Next(0, listOfNumbers.Count);
randomized[i] = listOfNumbers[index];
listOfNumbers.RemoveAt(index);
}
/* ... */
}
}
} -
lord.lakli
őstag
Én inkább List<int>-be pakolnám. List-nek van Contains fv, ami megmondja szerepel-e benne. Ha nem, akkor hozzáadod. Ezt az egészet egy while ciklusba, ami akkor álljon meg, ha Count 5-öt ad vissza.
Így nem kell for, do-while, csak egy while.A te megoldásodban az a baj, hogy "ronda"
és csak egyszer vizsgálod meg, hogy mit kell cserélni, de miután 5 elem kell és 1-5 között, így sokszor ismétlődhet.Valami ilyesmi:
var tomb = new List<int>();
var r = new Random();
while (tomb.Count < 5)
{
int szam = r.Next(1, 6);
if (!tomb.Contains(szam))
tomb.Add(szam);
}String.Join(", ", tomb.ToArray())
Sőt ha csak kiírod, egyből mehet List<string>-be is.
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Asus P5P800 SE Retro LGA 775 alaplap, Pentium 4 CPU, 1,5 GHz CPU
- XFX Radeon HD4650 512 MB 128bit DDR2 AGP Retro Videokártya
- Chieftec Smart Seriels GPS-400A8 80 Plus minősítésű 400W tápegység
- Dell G15 5511 i7-11800H / RTX 3050 Ti 4GB / 16GB RAM / 512GB NVMe 15,6" FHD 120Hz WVA
- Eladó Apple iPhone 11 128GB piros (PRODUCT RED) színben
- Bomba ár! Lenovo ThinkPad T480s - i5-8GEN I 8-16GB I 256SSD I 14" FHD I HDMI I Cam I W11 I Gari!
- REFURBISHED és ÚJ - DELL Universal Dock UD22 (DisplayLink)
- Lenovo ThinkPad T14s Gen 2 i5-1135G7 16GB 1000GB FHD 1 év garancia
- Canon MG2450 multifunkciós nyomtató + új színes patron
- Beszámítás! LENOVO LOQ 15AHP10 FHD Gamer notebook - R7 250 16GB DDR5 1TB SSD RTX 5060 8GB
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


