Hirdetés
- Xiaomi 15T - reakció nélkül nincs egyensúly
- EarFun Air Pro 4+ – érdemi plusz
- Bemutatkozott a Poco X7 és X7 Pro
- Xiaomi 15 Ultra - kamera, telefon
- Motorola Edge 50 Pro - több Moto-erő kéne bele
- Samsung Galaxy A56 - megbízható középszerűség
- Mobil flották
- Az AI miatt drágulnak a mobilok is
- Google Pixel topik
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
Új hozzászólás Aktív témák
-
Jester01
veterán
válasz
Gülredy
#3289
üzenetére
Miért nem mondod egyszerűen, hogy lottó program kell

Ez amúgy totál triviális feladat. Véletlenszám generálást már ezerszer elmondtuk, és nem is az "a program lényege". A gyakoriság is nagyon egyszerű, fogsz egy 90 elemű tömböt és (akár menet közben) nyilvántartod benne hogy a számok hányszor fordultak elő. Végül megkeresed benne az 5 legkisebbet.
-
ArchElf
addikt
válasz
Gülredy
#3257
üzenetére
De az érthetőség kedvéért while ciklussal is berakom

static string RandomizeWhile(string text)
{
Random rnd = new Random();
StringBuilder sbIn = new StringBuilder(text);
StringBuilder sbOut = new StringBuilder();
while(sbIn.Length > 0)
{
int rNumber = rnd.Next(sbIn.Length);
sbOut.Append(sbIn[rNumber]);
sbIn.Remove(rNumber, 1);
}
return sbOut.ToString();
}Amúgy ez lassabb megoldás (mivel az sbIn.Length értékét minden ciklusban kétszer is ki kell értékelni).
AE
-
ArchElf
addikt
válasz
Gülredy
#3255
üzenetére
static string Randomize(string text)
{
Random rnd = new Random();
StringBuilder sbIn = new StringBuilder(text);
StringBuilder sbOut = new StringBuilder();
for (int ix = text.Length; ix > 0 ; ix--)
{
int rNumber = rnd.Next(ix);
sbOut.Append(sbIn[rNumber]);
sbIn.Remove(rNumber, 1);
}
return sbOut.ToString();
}AE
-
ubid
senior tag
válasz
Gülredy
#2822
üzenetére
A túlterhelésre megoldás lehet például, hogy :
checked-el leellenörződ, hogy belefér e.
pl :int ten = 10;
int sum = 2147483647 + ten;
Console.WritLine(sum);
//Output : -2147483639Ezt nyilván túlcsordul.
Erre megoldás így néz ki :
Console.WritLine(checked(214748647 +ten));
checked
{
int o = 214748647 +ten;
Console.WriteLine(o);
}
Így kiváltódik a hiba : OverflowException
Ezt a hibát érdemes egy try-cath blokkal elkapni.Tehát belerakod az a kódsort amit le akarsz kezelni egy try blokkba.
static int CheckedMethod()
{
int z = 0;
try
{
z = checked(maxIntValue + 10);
}
catch (System.OverflowException e)
{
Console.WriteLine("Hohóóó túlcsordult.: " + e.ToString());
}
return z;
} -
kingabo
őstag
válasz
Gülredy
#2810
üzenetére
Marha egyszerű: a switch ág előtt mindig létrehozol egy kosarat és ahhoz teszed hozzá. A main fv előtt deklaráld privát adattagként.
(#2811) ubid:
"Annyi biztos, hogy stringhez hozzáfűzni a String.Builder.Append -el lehetséges."Ahogy írtal úgy is lehet stringeket összefűzni.
![;]](//cdn.rios.hu/dl/s/v1.gif)
-
ArchElf
addikt
válasz
Gülredy
#2593
üzenetére
static bool helyiertek(int vizsgalt_szam, int helyiertek_szama)
{
int helyiertek_erteke = (1 << helyiertek_szama);
return (vizsgalt_szam & helyiertek_erteke) == helyiertek_erteke;
}A helyiérték 0-tól kezdődik (tehát az az első).
A << operátor balra tolja a számot (2^n szorzásnak felel meg).AE
-
válasz
Gülredy
#2589
üzenetére
static bool masodikBitEgyes(int i)
{
return 2 == 2 & i;
}Egyebkent a te megoldasodban az x=x/2 jobbra shifteli a szamot (binaris alakban), kipottyan a legjobboldali bit, a jobbrol a masodik lesz az uj szamban jobboldali, ami azt jelenti, hogy a szam paros, ha 0, paratlan, ha 1.
-
Lacces
őstag
válasz
Gülredy
#2461
üzenetére
A többiek jól mondják

Plusz, használj TryParse-t a Parse helyett

Magyarázat itt: Magyarázat itt AE-tól

-
WonderCSabo
félisten
válasz
Gülredy
#2461
üzenetére
A % operátor a modulus operátor, nem az osztás eredményét adja vissza, hanem hogy mennyi a maradék. Pl. 5 % 2 == 1.
Ergó ez a kifejezés : x % x == 1 && x%1 == x semmilyen számra nem lesz igaz, hiszen egy számot önmagával leosztva a maradék mindig 0, illetve egyel osztva szintén.
Továbbá, a prímszákat a nem prímszámoktól az különbözteti meg, hogy a prímszámoknak pontosan 2 osztója van: 1 és önmaga. A nem prímeknek minimum 3.
"ha önmagával osztom akkor az 1, ha 1 el osztom akkor önmaga"
Ez minden számra igaz, nem csak a prímekre.
A prímség eldöntését első körben úgy szokták megírni, hogy egy ciklusban modulussal osztogatják a számot, és ha a modulus 0-át ad, akkor ugye egy osztót találtak. Ekkor a számlálót megnövelik egyel. A végén megnézik, hogy a számláló 2-e vagy sem.
-
Jester01
veterán
válasz
Gülredy
#2411
üzenetére
Mivel ez egy előző feladatra épít, így aztán a feléről fogalmam sincs mit akar.
Úgyhogy csak a konkrét kérdésedre válaszolok:Például ezt a 1:100-hoz valószínűségű dolgot se tudom, hogy lehetne kivtelezni, mert jelenleg csak ezt ismerem Random r = newRandom(); number = r.Next(100); de ez csak 0-100 ig kiválaszt egy random számot az meg ide nem lenne jó.
Szerinted ez miért is nem lenne jó? Hiszen ez 100 lehetséges számot ad vissza, tehát egyenletes eloszlást feltételezve bármelyik szám valószínűsége 1%. Vagyis egy tetszőleges de állandó számmal összehasonlítva máris megkaptad ami kell.
-
st4rlight
csendes tag
-
ArchElf
addikt
Ú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!
- Mozilla Firefox
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Eredeti játékok OFF topik
- Horgász topik
- Elon Musk billiomos lesz, ha kitör a gépek forradalma
- EarFun Air Pro 4+ – érdemi plusz
- Launch trailert kapott a Honkai: Star Rail
- Kuponkunyeráló
- 5.1, 7.1 és gamer fejhallgatók
- PR-Telecom
- További aktív témák...
- ROLLEREK: ÚJ, Újszerű, Használt 30+ db listát tudok küldeni
- ÁRGARANCIA! Épített KomPhone Ultra 7 265KF 32/64GB RAM RX 9070 XT 16GB GAMER PC termékbeszámítással
- Huawei P30 Lite / 4/128GB / Kártyafüggetlen / 12Hó Garancia
- SEAGATE ST6000NM0034 6TB 7.2k 3.5 512e SAS HDD ST6000NM0034
- GYÖNYÖRŰ iPhone 13 mini 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3315, 100% Akkumulátor
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


![;]](http://cdn.rios.hu/dl/s/v1.gif)


