Helló! Ezt a progtételt még szakmain vettük 1,5 éve kb, gondoltam megosztom veletek, mert hasznos nagyon. Legalábbis én sok helyen használtam.
Adott egy \'N\' elemû halmaz, és \'T\' tulajdonság.
Feladatunk: A \'T\' tulajdonságú elemek kigyûjtése egy külön tömbbe
Elõször is deklarálunk:
new
tomb[20], //--Elõször is kell egy tömb annak, amibõl válogatni szeretnénk
tomb2[20], //--A késõbbiekben majd ebbe a tömbbe fogunk válogatni
j = 0, //--Ez fogja számlálni a \'tomb2\' elemeit, illetve ez alapján helyezi majd el a tömbben ha igaz a feltétel
n = 20, //--Eddig fut majd le a ciklusunk, i-tõl
t = 10 //--Ez a feltétel
;
Maga a tétel:
for(new i = 1; i < n; ++i) //--A ciklus i-tõl n-ig fut le, egyel növelve az i értékét.
{
tomb = random(20-1)+1; //--A \'tomb\' nevû tömb \'i\'-edik elemének generálunk egy véletlen számot 1 és 20 között
if(tomb < t) //--Megvizsgáljuk, hogy a \'t\' feltétel egyezik-e a tömb i-edik elemével.
{
++j; //--Növeljük a j változót, ha igaz a feltétel
tomb2[j] = tomb; //--A tömb2 j-edik elemét kicseréljük a tomb i-edik elemével.
}
}
Kiíratjuk:
for(new k = 0; k < n; ++k) //--k-tól n-ig futtatunk egy ciklust (0-tól 20-ig)
{
if(tomb2[k] != 0) //--Ez azért kell, mert akkor kiírná a nem használt elemeket (ami 0)
printf(\"[%d. elem]%d\", k, tomb2[k]); //-- \'k\' - Hányadik elem, \'tomb2[k]\' - tomb2 k-adik eleme
}
Várom véleményeitek, kritikáitok!