Szerző Téma: [TUT] Kiválogatás  (Megtekintve 1561 alkalommal)

Nem elérhető Zharko

  • 1955
  • Future House <3
    • Profil megtekintése
[TUT] Kiválogatás
« Dátum: 2012. Augusztus 09. - 11:20:11 »
+1 Show voters
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. :P
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!

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal