fel
le

Gyakorlás a II. ZH-ra

#1   vektor rendes feltöltése

Kérjük be egy osztály létszámát (N). Kérjük be az osztály tanulóinak matek jegyeit (1..5 közötti számok), mindig legyen kiírva épp hányadik diák (naplósorszám) jegyét kérjük be. Ha a bevitt „érdemjegy” mégsem esik 1..5 közé, akkor jelezzünk hibát, és ezen sorszámú diák jegyét kérjük be újra. A bevitel végén adjuk meg az 5-ös jegyet érdemlő diákok naplósorszámait és számát.

#2   tetszetős vektor

Egy 80 elemű vektort töltsünk fel véletlen [20,50] számokkal, és írjuk ki ezeket a számokat a képernyőre egymás mellé vesszővel elválasztva. A vektor „tetszetős”, ha nincs benne 4 vagy több szomszédos elem, amelyek mindegyikének az értéke nagyobb mint a vektorelemek átlaga. A program szövegesen írja ki, hogy a vektor a vizsgálat végén "tetszetős-e" vagy sem.

Pl: ha az átlag 24.5, akkor ha a vektorban ...,22,25,28,27,21,29,32,27,10,... szerepel, akkor nincs benne 4 hosszú ilyen szakasz.

#3   Intervallum ellenőrzés

Egy 80 elemű vektort töltsünk fel véletlen [20,50] számokkal, írassuk ki az elemeket a képernyőre. Kérjünk be egy X számot a billentyűzetről. Adjuk meg, hány olyan szám van a vektorban, amely az (X-5,X+5) intervallumba esik, és páros.

#4   vektor első-utolsó

Egy 30 elemű vektort töltsünk fel véletlen [20,60] értékekkel. A számokat írjuk ki a képernyőre. Határozzuk meg hány olyan szám van a vektorban, amely kisebb, mint a vektor legelső eleme, vagy nagyobb, mint az utolsó eleme.

#5   Balance számok

Segítség: balance számoknak nevezzük azokat az N egész számokat, ahol létezik olyan M>N szám, hogy az 1..N számok összege egyenlő N..M számok összegével. Ilyen szám a 6, mivel 1..6 összege az 21, és 6..8 számok összege is 21.De pl. a 7 már nem balance szám, mivel 1..7 számok összege 28, de 7..8 az még csak 15, 7..9 még csak 24, a 7..10 számok összege pedig már 34. Balance számokból nincs túl sok amúgy, az alábbiak biztosan azok: 6, 35, 204, 1189, 6930, 40391, 235416, 1372105, 7997214,... (és ebben a számtartományban más ilyen számok már nincsenek)

  • az [1,1000000] intervallumból minden egyes elem X számot vizsgáljunk meg, hogy balance szám-e, amennyiben igen, úgy helyezzük el azt egy L listába
  • írassuk ki az L lista elemeit egymás mellé vesszővel elválasztva,
  • kérjünk be a felhasználótól 5 db számot, helyezzük el azokat egy L2 listába,
  • a felhasználó L2 listabeli tippje közül a balance számokat emeljük át egy L3 listába
  • ha egy tipp sem volt balance szám (L3 lista üres), akkor a "nem ismersz egy balance számot sem" szöveget jelenítsük meg, egyébként pedig a jó tippeket írjuk ki a képernyőre

#6   összetett számok

Megj: egy szám összetett, ha több mint 2 osztója van.

  • kérjünk be egy 10
  • egy L1 listába helyezzünk el N darab véletlen számot a [10,50] intervallumból,
  • egy L2 listába helyezzünk el N/2 darab véletlen számot a [15,60] intervallumból,
  • határozzuk meg, hogy az L2 listabeli elemek közül van-e olyan, amely az L1 listában többször is szerepel - ezeket helyezzük át az L3 listába is
  • írassuk ki az L1, L2, L3 listabeli elemeket a képernyőre
  • számoljuk meg, hogy az L3 listabeli elemek közül hány szám összetett szám, írjuk ki ezek darabszámát.

#7   Lista maximum

Írjunk olyan programot, amely addig kér be számokat billentyűzetről, amíg azok összege el nem éri a 100-at. A bekért számokat közben tároljuk be egy listába, minden bekérés előtt írjuk ki jelenleg hol tart az összeg. Végül kérjünk be még egy számot, amelyet a program kezelője úgy érez, hogy az általa korábban megadott számok között szerepelt, és a legnagyobb volt. Ellenőrizzük le, hogy valóban így van-e. Lehetséges kiírások:

  • a szám nem is szerepelt a beírtak között
  • a szám szerepelt, de nem ő a legnagyobb
  • a szám valóban a legnagyobb a beírtak közül

Hernyák Zoltán
2013-03-16 19:13:32