Kezdőoldal » Számítástechnika » Programozás » Hogy csináljam meg ezt a C#...

Hogy csináljam meg ezt a C# intervallumos feladatokat?

Figyelt kérdés

Sorsolj ki egy számot az [1000;10000] intervallumból. Írd ki, hogy a legkisebb számjegyét!


Sorsolj ki egy számot az [1000;10000] intervallumból. Írd ki, hogy a legnagyobb számjegyét!



2019. nov. 28. 10:00
1 2
 1/14 anonim ***** válasza:

A Random osztállyal sorsolsz, megadható az intervallum.

Stringgé alakítod, az első karaktert intté alakítva megvan a legkisebb változó értéke, és a legnagyobbé is. Végigmész egy ciklussal, ha kisebb az érték, akkor a legkisebb=aktualis, ha nagyobb, akkor legnagyobb=aktualis

Nem egy túl bonyolult feladat...

2019. nov. 28. 10:05
Hasznos számodra ez a válasz?
 2/14 anonim ***** válasza:

"Sorsolj ki egy számot az [1000;10000] intervallumból."


Ez eddig tiszta sor.


Random rnd = new Random();

int szam = rnd.Next(1000, 10000);

Console.WriteLine(szam);


"Írd ki, hogy a legkisebb számjegyét!"


De ez mi? Magának a mondatnak nincs értelme. Minek a legkisebb számjegyét? Honnan? Mihez képest?

2019. nov. 28. 10:13
Hasznos számodra ez a válasz?
 3/14 anonim válasza:

Ezt sehogy, mert ennek az égvilágon semmi értelme.

Milyen nyelven és mi a búbanatot jelent szerinted az, hogy "Írd ki, hogy a legkisebb számjegyét!"?!

2019. nov. 28. 12:41
Hasznos számodra ez a válasz?
 4/14 anonim ***** válasza:
Én így értelmezem: a generált szám: 5982, a legkisebb számjegye 2, a legnagyobb 9.
2019. nov. 28. 13:08
Hasznos számodra ez a válasz?
 5/14 anonim ***** válasza:
Bármit is jelentsen a feladat, azért string-gé alakítást na javasoljunk a kérdezőnek, mert eléggé nem hatékony. Oké, hogy 1 számról van szó, de ha ezt tanulja meg, akkor majd "komoly" programozóként milliós tömöbkre is stringgé fogja konvertálni a dolgokat, ha valamit szeretne vizsgálni és csodálkozik, hogy a GC (és mellegleg az algoritmus) procihasználata az egekben.
2019. nov. 28. 13:29
Hasznos számodra ez a válasz?
 6/14 anonim ***** válasza:

Utolsó voltam js-ben kb így:


console.log(Math.min(...(1000+Math.floor(Math.random()*9000)).toString().split('')));

console.log(Math.max(...(1000+Math.floor(Math.random()*9000)).toString().split('')));

2019. nov. 28. 13:29
Hasznos számodra ez a válasz?
 7/14 anonim ***** válasza:
*utolsó előtti
2019. nov. 28. 13:30
Hasznos számodra ez a válasz?
 8/14 anonim ***** válasza:

kedves #5, én #1 voltam.

Azért [1000;10000] intervallumon kíváncsi lennék, mekkora lesz az a string. Szerintem maximum 5 karakter...

De ha 10 a 200-adik hatványon tárolnánk számot, akkor is 200 karakter nem a világ vége.

Egyébként meg te lóf....t sem mondtál, nem hogy kevésbé jó megoldást.

2019. nov. 28. 13:33
Hasznos számodra ez a válasz?
 9/14 anonim ***** válasza:
#8 egyetértek, más lenne, ha mondjuk nem egy-egy számot kellene vizsgálni, hanem mondjuk egy-egy milliót (vagy inkább milliárdot).
2019. nov. 28. 13:41
Hasznos számodra ez a válasz?
 10/14 anonim ***** válasza:

Nem a stringek hosszával van gond, hanem a darabszámával. Oké, jelenleg 1, de az is pár új objektum foglalás, GC-nek munka.


Egyébként a számjegyeket megkaphatjuk egy egyszerű ciklussal amiben veszük a szám 10-es maradékát, majd leosztjuk 10-zel (egész osztással nyilvan) Mindenzt addig ismételve amíg 0 nem lesz.


A random szám generálást pedig előttem már leírták, bár ha a feladat szövegének pontosan eleget akarunk tenni, akkor rnd.Next(1000, 10001);-t kéne írni, mert a felő korlát nem része a random által generált intervallumnak.


Amúgy pedig itt van egy nem hatékony megoldás:

1: new Random().Next(1000, 10001).ToString().Min(x => x)


2: new Random().Next(1000, 10001).ToString().Max(x => x)

2019. nov. 28. 14:00
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!