C# program megoldása?
Egy kis repülővel átrepülünk a tenger felett és bizonyos időközönként megmérjük a tengerszint feletti magasságot. A 0 tengert jelent, a pozitív érték szárazföldet. Az első és utolsó mérés biztosan szárazföld felett történik. Az 1000 mérés eredménye a sziget.txt állományban található.
Készíts programot, amely meghatározza, hogy a szigetek átlagmagassága növekszik-e!
Magyarul megvan az 1000 mérés és abból kell kiszámolni.
Nos, arra már rájöttem, hogy a mérések alapján a szigeteket külön tömbökbe kell rakni és azokat összehasonlítani egyesével(i+1, i+2...) és ha egy sziget átlagmagassága is kisebb mint az előző akkor már nem igaz.
De ezt program formájában nehéz leírni, köze sincs ahhoz amit órán csinálunk :D
Nem feltétlenül kell tömbözni a szigeteket.
Fogsz 3 változót: elozo_atlag, szum, db. elozo_atlag legyen kezdetben 0.
Elindulsz az adatokon. Amikor elkezdődik a sziget, akkor a szum-ot és a db-ot nullázod. Összeadod és összeszámolod a sziget magassági adatait, majd osztod egymással a kettőt, akkor kapsz egy átlagot. Összehasonlítod, hogy ez nagyobb-e, mint az elozo_atlag. Ha kisebb, akkor megállsz és kijelented, hogy nem növekszik a szigetek átlagmagassága. Ha nagyobb, akkor az elozo_atlag változóba lemented az aktuális sziget magasságát, majd folytatod tovább az olvasást. Ha elérsz a végére, akkor kijelented, hogy igen, az átlagmagasság növekszik (mert ha nem így lenne, akkor már korábban leálltál volna).
Ehhez csak for ciklus és pár if kell. (meg egy kis logika)
Keresd meg a szigeteket!
Én úgy értelmezem, hogy az első és az utolsó már nem sziget. Tehát keresd az első nullát. Ha megvan utána keresd meg mikor lesz a következő ami nem nulla. (Ott a sziget kezdete!) Azt a számot ideiglenesen tárold egy másik tömbbe, illetve folytonosan mindaddig míg újra nem kapsz nullát. Ezeket átlagold és az átlagot tárold le egy double tömbbe. A végén pedig vizsgáld meg, hogy az a tömböd növekvő-e. (Ha egy elem is kisebb, mint az előző, nem kell tovább vizsgálnod!)
Kérdező: Tengor megoldása jobb! Azt csináld..
(Egy feladatot 1000+1 féle módon lehet megvalósítani. Érdemes a szebb megoldást keresni, ami kevesebb műveletet és memóriát igényel.)
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, 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!