- Google Pixel topik
- Mobilhasználat külföldön
- Huawei Watch GT 6 és GT 6 Pro duplateszt
- Milyen GPS-t vegyek?
- Apple iPhone 17 Pro Max – fennsík
- Android alkalmazások - szoftver kibeszélő topik
- Apple Watch Ultra - első nekifutás
- Homokféreggel is pózolhatna a OnePlus 15
- iPhone topik
- Vivo X200 Pro - a kétszázát!
Ú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!
- BestBuy topik
- Brogyi: CTEK akkumulátor töltő és másolatai
- Otthoni hálózat és internet megosztás
- Xbox Classic / Xbox 360
- Lenovo Legion és IdeaPad Y széria
- Bevásárol helyetted a ChatGPT
- Autós kamerák
- DUNE médialejátszók topicja
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- További aktív témák...
- 122 - Lenovo Legion Pro 5 (16ARX8) - AMD Ryzen 7 7745HX, RTX 4070 (ELKELT)
- Olcsó Notebook! Dell Latitude E7280! I5 7300U / 8GB DDR4 / 256GB SSD!
- Intel Processzorok sok db : Xeon E5-1620V3, Pentium G4400T, i3 6100, i3-4130, i3-2140T
- GYÖNYÖRŰ iPhone 13 Pro 128GB Graphite -1 ÉV GARANCIA - Kártyafüggetlen, MS3082
- RÉSZLETFIZETÉS.BANKMENTES.KAMATMENTES ASUS Vivobook 17 X712EA-AU737W Notebook
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest