Ha szívesen korrepetálnál, hozd létre magántanár profilodat itt.
Ha diák vagy és korrepetálásra van szükséged, akkor regisztrálj be és írd meg itt, hogy milyen tantárgyban!
"robot", "rakéta", "meteor", "mátrix" - C programozás
A homokviharok visszatérése nem az egyetlen id®járási tényez®, amely a Mars kolonizálását fenyegeti.
Mivel a Mars légköre nagyon ritka, ezért az ¶rb®l érkez® meteorzáporok és ¶rszemét nem ég el a légkörbe
való belépéskor és komoly károkat okozhat. Szerencsére erre a körülményre már fel van készülve a kolónia,
el®död, Dr. Halliburton korábban épített egy robotot, amely képes elkapni a közvetlen veszélyt okozó
zuhanó tárgyakat.
Sajnos azonban a radarok felfedezték, hogy egy minden eddiginél nagyobb meteorraj tart a kolónia
felé. A probléma, hogy ilyen nagy mennyiség¶ meteortól a robot sem tudja egymaga megvédeni a kolóniát, ezért rakétákkal kell kil®ni azokat a meteorokat, amelyek átjutnának a robot által képzett védelmi
vonalon. Azonban ezeknek a védelmi rakétáknak a megépítése nagy mennyiség¶ id®t és nyersanyagot von
el az épületek meger®sítését®l és az egyéb felkészülést®l. A kolónia jöv®je tehát ismét rajtad múlik, mint
informatikus neked kell meghatároznod, hogy hány rakétára lesz szükség, azaz hány meteor jutna át a
robot védelmi rendszerén.
A feladatot komplikálja, hogy a Dr. Halliburton jelszava nélkül a robot forráskódjához nem férsz hozzá.
Azt azonban tudod, hogy a robot intelligenciája kezdetleges, s®t el®död feljegyzéseib®l a viselkedését is
teljes mértékben ismered. A robot vízszintesen mozog balra vagy jobbra egy sín mentén, és megsemmisíti
a beérkez® meteorokat. A meteorzápor érkezését egyenletes id®szeletekre osztjuk fel. A robot szenzorai
mindig csak az aktuális id®szeletben érkez® meteor helyzetét érzékelik. A robot id®szeletenként egyet tud
lépni. A robot a mozgását az alábbi szabályok szerint végzi:
A legels® id®szeletben még van ideje kiválasztani a megfelel® pozíciót, így balról jobbra az els®
meteort garantáltan elkapja, tulajdonképpen ez a kiindulási pontja.
Amennyiben egy lépéssel meg tud semmisíteni egy meteort az adott id®szeletben, akkor ezt a lépést
megteszi. Ha azonban nem csak egy meteort tudna így megsemmisíteni az adott id®szeletben, akkor
döntésképtelen, így nem mozdul, akkor sem, ha ezzel akár egyet sem kap el.
Amennyiben a következ® lépésével nem tudna egy meteort sem elkapni, arra mozdul, amerre az
adott id®szeletben több meteort lát.
Minden egyéb esetben mozdulatlan marad.
Továbbiak a képekben.
Nem kaptunk "feladat.c"-t, csak hogy mi a bemenet meg mi a kimenet.
Jelenleg 1 felhasználó nézi ezt a kérdést.
c, cprogramozás, mátrix
2 hete nem aludtam:
A következőkbe kötnék bele. Én nem teszteltem, de ami problémás lehet és ezért érdemes megváltoztatni az következők. Amikor a balraszam és jobbraszamot számolod, akkor a jobbraszam akkor is nő, amikor a robot pozíciójában van a meteor, mivel else-t hasnzáltál. Ahogy amikor a robot lépését számolod, akkor is elmozdul, ha a balra és jobbraszam egyelő, mivel az is else-ként működik ott.
1 éve1
VF:
Köszönöm. A jobbraSzam++ elé tényleg kell egy újabb feltétel. Eleinte külön változóban terveztem megjegyezni ha pont robotPozicioban is van meteor és miután erről letettem, elfelejtettem hozzáigazítani a logikát. Viszont a második észrevételedet nem értem. Ott az if (balraSzam != jobbraSzam) eleve kizárja az egyenlőség esetén való mozgatást.
1 éve0
2 hete nem aludtam:
Igaz, bocs, nem néztem előtte az if-es feltételt, csak az adott sort.
1 éve0
404_pagenotfound:
Köszönöm szépen, 120%-osan lett teljesítve (8 a 6-ból teljesítve)
1 éve0
404_pagenotfound:
Szép napot kívánok
1 éve0
VF:
Őőő… Nem ugrik be mit értesz a 6 és 8 alatt. A Bíró által adott futási hiba kódok?
1 éve0