Kezdőoldal » Számítástechnika » Programozás » Hogy tudom ezt megoldani? Kód...

Hogy tudom ezt megoldani? Kód lent. C#

Figyelt kérdés

Teljes kód:


https://pastebin[pont]com/bhx8KAvX


5 számot bekérek, majd 5 random számot generálok. Ez megvan. A random számokban nem lehet ugyanolyan érték, ha van már egy olyan. Ez megvan.


A felhasználó amit számot bead, és ha van már olyan akkor nem adhatja be ugyanazt. Ez is megvan.


Viszont, egyszerűen képtelen vagyok azt belerakni, hogy 1 és 90 között adhasson meg csak számot, ha nem annyi akkor kérje be ugyanazt. Ugyanúgy, mintha már adott be olyat akkir újra kérje be.


Ebbe kell valamit vacillálni:


while (ownNumbers.Contains(temp) == true)

{

Console.Write($"Adja meg a(z) {i + 1}. számot: ");

temp = int.Parse(Console.ReadLine());

}


A while feltétel ugyebár megvizsgálja, hogy az adott temp változó értéke szerepel-e már, ha igaz a feltétel akkor fut tovább, addig amíg nem. Ebbe próbáltam volna még azt, hogyha a temp kisebb mint 91 pl, de így nem tudom működésre bírni, ha külön while-t rakok be a while-ba akkor sem tudom. Sajnos nincs egyenlőre megoldásom.


Valakinek valami javaslat?


2020. febr. 18. 21:10
1 2
 1/19 A kérdező kommentje:
Ahh, sikerült már, úgyhogy tárgytalan. :)
2020. febr. 18. 21:19
 2/19 A kérdező kommentje:

ami módosult:


while (ownNumbers.Contains(temp) == true || temp2 > 91 || temp2 < 0)

{

Console.Write($"Adja meg a(z) {i + 1}. számot: ");

temp = int.Parse(Console.ReadLine());

temp2 = temp;

}


felvéve egy segédváltozó, az elején deklarálva és 91 értékkel megadva, mert a 91 már nem lehet, illetve lejjebb a generálásnál nem a temp-et használom, hanem átírtam temp3-ra és kiszedtem lejjebb a temp = 0-át.

2020. febr. 18. 21:24
 3/19 anonim ***** válasza:
5%

Pedig nem egy nagy magic.

while (ownNumbers.Contains(temp) || temp < 1 || temp > 90)


Pár tipp:

1. Oké, hogy a temp változó temporális, de azért lehetne neki kifejezőbb nevet adni.

2. Olyat, hogy '(boolean expression) == true' nem nagyon írunk, nem kell a '== true' rész, ugyanazt jelenti nélküle is.

2020. febr. 18. 21:25
Hasznos számodra ez a válasz?
 4/19 anonim ***** válasza:
5%

temp2???

egyre jobb

2020. febr. 18. 21:28
Hasznos számodra ez a válasz?
 5/19 anonim ***** válasza:
5%
temp3 :D :D :D
2020. febr. 18. 21:33
Hasznos számodra ez a válasz?
 6/19 A kérdező kommentje:

Igen. Azért van. Mert, ha a temp marad és ugyanazt használom, akkor a generált szám utolsó értéké megegyezik a bekért utolsó értékkel.


Ha pedig a tempet 0 áznám lejjebb, akkor a while feltétel nem jó. Mert az összes bekért elemet nullázza. Ezert van 3 segéd változó

2020. febr. 18. 22:04
 7/19 A kérdező kommentje:

Amit te adtál meg az meg azért se lenne jó, mert ha 1 et vagy 90 et kérnél akkor futna tovább a ciklus...


De mielőtt itt trollkodnál, az olyanokkal "hogy egyre jobb" láthatod, hogy már megoldottam.

2020. febr. 18. 22:06
 8/19 A kérdező kommentje:

". Olyat, hogy '(boolean expression) == true' nem nagyon írunk, nem kell a '== true' rész, ugyanazt jelenti nélküle is."


Nem igazán tudom miről beszélsz itt.

2020. febr. 18. 22:08
 9/19 anonim ***** válasza:
5%
Azt látom.
2020. febr. 18. 22:12
Hasznos számodra ez a válasz?
 10/19 A kérdező kommentje:
Már tudom. De leírhattad volna konkrétabban is. De úgy látszik amúgy csak kötekedni jársz ide, pedig még a megoldásod se lenne jó.. látszik mennyire értessz hozzá.... főleg 44%-al.
2020. febr. 18. 22:12
1 2

További kérdések:




Minden jog fenntartva © 2025, 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!