- Egyslotos Galax VGA az NVIDIA Blackwell platformon
- AMD Navi Radeon™ RX 9xxx sorozat
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Milyen széket vegyek?
- OLED TV topic
- Milyen házat vegyek?
- Milyen TV-t vegyek?
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- VR topik (Oculus Rift, stb.)
- Milyen asztali (teljes vagy fél-) gépet vegyek?
Hirdetés
(használd a CYBSEC25PH kuponkódot további 20 ezer ft kedvezményért!)
Ú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.
-
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!
- HIBÁTLAN iPhone 12 mini 128GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3303
- GYÖNYÖRŰ iPhone 13 Pro Max 128GB Graphite -1 ÉV GARANCIA - Kártyafüggetlen, MS3540
- Wacom Bamboo One CTF-430 rajztábla
- GYÖNYÖRŰ iPhone 13 128GB Starlight -1 ÉV GARANCIA - Kártyafüggetlen, MS3434
- Xiaomi Mi 11T Pro 5G 256GB // Számla+Garancia//
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest