Személyes eszközök
Keresés

 

A InfoWiki wikiből



Függvények paraméter nélkül

Az alábbi feladatokat függvények segítségével kell megoldani. A függvények valahány bemenő adattal dolgoznak, és gyakran állítanak elő kimenő értékeket. Ezeket static változókon keresztül kell kezelni, vagyis ezen függvények mindegyik void kell legyen, és nem használhatunk paraméterátadást.

A függvények írása során ügyeljünk arra, hogy a függvényünk nem tartozhat egy időben két különböző jellegű rétegbe is (application logic, user interface). Ez azt jelenti, hogy egy függvény vagy számol, vagy kommunikál a felhasználóval, mindkettőt nem csinálhatja egyszerre. Vagyis egy függvény megszámolhatja adott típusú elemek darabszámát, de nem írhatja ki a képernyőre. Amelyik függvény ezt kiírja a képernyőre, az meg nem számolhatja meg a darabszámot!

lottó-számok

lottó-számok meghatározása

A program lényegében az alábbi feladatot végzi el: generáljunk 5 db, garantáltan különböző lottó-számot (1..90 közötti egész szám). Ehhez (például) az alábbi függvényeket kell elkészíteni:

  • egy függvény, amely egy konkrét tömb és konkrét szám esetén megadja, hogy a szám a tömbben előfordul-e vagy sem.
  • egy függvény, amely előállít egy adott intervallumbeli értéket
  • egy függvény, amely olyan értéket állít elő, amely még nem szerepelt a tömbben
  • maga a lottószám-feltöltő függvény
  • a lottószámokat kiíró függvény
Megoldás (hz)
static int[] tomb;
static int keresett_elem;
static bool elofordul_e;
 
static void elofordulas()
{
   foreach(int x in tomb)
   {
    if (x==keresett_elem)
       return true;
   }
   return false;
}
 
static int also;
static int felso;
static int veletlen_ertek;
static Random rnd = new Random();
 
static void veletlenszam()
{
   veletlen_ertek = rnd.Next(also,felso+1);
}
 
static void uj_veletlenszam()
{
   do
   {
     veletlenszam();
     keresett_elem=veletlen_ertek;    
     elofordulas();
   }
   while (elofordul_e==true);
}
 
static void tomb_feltoltes()
{
  for(int i=0;i<5;i++)
  {
    uj_veletlenszam();
    tomb[i] = veletlen_ertek;
  }
}
 
static void kiiras()
{
  foreach(int x in tomb)
    Console.WriteLine(x);
}
 
static void Main()
{
  also=1;
  felso=90;
  tomb_feltoltes();
  kiiras();
  Console.ReadLine();
}



Hernyák Zoltán
A lap eredeti címe: „http://wiki.ektf.hu/wiki/Mp2/gyak09
Nézetek
nincs sb_18.118.12.101 cikk