C# hogy kéne megvalósitani, hogy ne zavarjon be a for ciklus?
lenne ez a kód:
röviden, hogy pl bekér egy számot pl 5. akkor 5x kiir egy számot 1-6ig. szóval amennyit dobtam a "kockával". ezt egy tömbben tárolom.
próbáltam gyakorlásnak szinesiteni, hogy kiirom hogy "találtam kettest" és mennyit talált.
ha berakom a for ciklusba az ifet akkor minden sorban kiirja hogy nem találtam, találtam, találtam, nem találtam blabla.
én csak egyszer szeretném kiiratni. hogy kéne nekikezdenem? köszönöm.
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
De ha mindenkeppen egy for-ban szeretned akkor valami ilyesmi:
if (!szamoktarolasa.SubArray(0, i - 1).Contains(szamoktarolasa[i])) Console.WriteLine("Van benne {}, szamoktarolasa[i]");
úgy próbáltam legelején:
for (int i = 0; i < szamoktarolasa.Length; i++)
{
if (szamoktarolasa[i] == 2)
{
Console.WriteLine("Találtam kettest");
}
else { Console.WriteLine("nope"); }
}
de sajna nem jövök rá hogy kéne. azt tudom hogy kikéne valahogy rakni for ciklusból a feltételt de sehogy se jövök rá hogy kellene megvalósitani.
ja nem akarom én mindenképpen for ciklusban.
sima ifel is próbáltam csak akkor abba a hibába ügyközök hogy if (szamoktarolasa[i] == 2) már nem kivitelezhető feltétel.
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
Létrehozol egy boolean változót (ami alapból false), és ha igaz az If akkor átállítod truera.
For ciklus után pedig if-el megnézed hogy a változó true vagy false.
Innentől magától értetődő.
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
Bemasolom ide is, a tobbi ugyanaz:
for (int i = 0; i < dobasszam; i++)
{
int szam = rnd.Next(1, 7);
if (!szamoktarolasa.Contains(szam))
{
Console.WriteLine("Van benne {0}", szam);
}
szamoktarolasa[i] = szam;
counter++;
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
Jaj elirtam, a felkialtojel nem kell az if ele, igy:
if (szamoktarolasa.Contains(szam))
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
igen, rájöttem közben, azt hittem hogy már bemásolni se tudok.
A boolos se jött össze. de mára amúgy is fáradt vagyok és már nagyon felidegesit pedig 1x már rájöttem pár hete mikor hasonlót csináltam. majd holnap nekikezdek megint.
Kapcsolódó 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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!