Kezdőoldal » Számítástechnika » Programozás » C++ program segítség?

C++ program segítség?

Figyelt kérdés

A feladat:egy játéktábla 11 sorból áll,minden sorban pontosan 2x annyi elem van mint a fölötte lévő sorban.



A tábla felső pontjából azaz az első sor első pontjából indulunk.Az egyes lépéseket a következők írják le:

-BL balra lefelé lépünk egyet

-JL jobbra lefelé lépünk egyet

-F felfelé lépünk egyet

-B balra lépünk egyet

-J jobbra lépünk egyet


Készíts programot(jatek.cpp),amely beolvas egy lépéssorozatot majd megadja hogy a lépéssorozat végén hányadik sor hányadik elemén áll a bábunk


A bemenet első sorában a lépések "K" száma van(1<=K<=10),a következő K sorban pedig az egyes lépéseket leíró betűk vagy betűpárok.


A kimenet egyetlen sorába a lépéssorozat végén a bábu sorának és soron belüli helyének a sorszámát kell írni egy szóközzel elválasztva! Ha a bábu kilépne a tábláról akkor az első sorba azt a helyet kell írni ahol utoljára volt!


A feladat adott..mielőtt még lehülyéznétek heti 1 órában tanulunk programozni és ez valami versenyfeladat.Fogalmam sincs hogy kezdjek.



#programozás #C++ #nemestihamer
2015. jan. 21. 16:08
 1/10 anonim ***** válasza:
Pontosan mit nem értesz?
2015. jan. 21. 16:12
Hasznos számodra ez a válasz?
 2/10 anonim ***** válasza:
20eFt - írj privátban
2015. jan. 21. 16:13
Hasznos számodra ez a válasz?
 3/10 A kérdező kommentje:
hát a bekérés megvan csak a léptetés részét nem értem:|
2015. jan. 21. 16:14
 4/10 anonim ***** válasza:

Gondold végig, hogy milyen indexek vannak egymás felett, alatt. Illetve a különböző lépések esetén hogyan kell kiszámolni az új indexet, illetve milyen feltételekre kell odafigyelni.


Például:

Az egyik sorban az indexek: 1, ..., n

Az alatta lévőben: 1, ..., 2n

A felette lévőben: 1, ..., n/2


Tudni kell, hogy éppen hanyadik sorban vagyunk, és azon belül melyik indexen. Legyen i a sorszám, j az index.


A fenti példát folytatva:

j-ről tudjuk, hogy: 1 <= j <= n


a) Felfelé akarok lépni:

új index = j/2 alsó egészrésze (lefele kerekítés, vagy egész osztás ugye) lesz a fölötte lévő sor megfelelő indexe.

feltétel = i > 1 (tehát nem az első sorban vagyunk)


b) Jobbra lefelé lépek:

új index = 2*j

feltétel: mindig mehet


c) Balra lefelé:

új index = 2*j-1

feltétel: mindig mehet


d) Balra vízszintesen:

új index = j - 1

feltétel: j > 1


e) Jobbra vízszintesen:

új index = j + 1

feltétel: j < az indexek száma a sorban


!!! e)-nél kell az indexek száma egy adott sorban. Ezt ajánlott mindig kiszámolni, amikor sort váltasz (a, b, c eset). Ha 1-től számozod a sorokat, akkor az indexek száma az i. sorban = 2^(i-1).

Ezt lehet hatékonyan is csinálni:

Legyen n az indexek száma az aktuális sorban. Ez kezdetben 1.

Ha lefele lépek, akkor megduplázom: n = 2*n

Ha felfelé lépek, akkor felezem: n = n/2

2015. jan. 21. 16:51
Hasznos számodra ez a válasz?
 5/10 A kérdező kommentje:
köszönöm a segítséget !:) így már érthetőbb
2015. jan. 21. 17:07
 6/10 anonim ***** válasza:

Egy kis észrevétel


b) Jobbra lefelé lépek:

új index = 2*j+1

feltétel: mindig mehet


c) Balra lefelé:

új index = 2*j

feltétel: mindig mehet

2015. jan. 21. 17:33
Hasznos számodra ez a válasz?
 7/10 A kérdező kommentje:
köszönöm a segítséget még1x :D sikerült megírnom a progit ha nem kaptam volna segítséget tőletek nem sikerült volna :3
2015. jan. 21. 17:42
 8/10 anonim ***** válasza:

#6, ezt azért gondold át légyszi...

1-től n-ig indexelem a sort.


Pl. 1 alatt az 1 és a 2 van, 2 alatt a 3 és a 4, stb.

Tehát amit írtam, az a jó képlet...

2015. jan. 22. 09:21
Hasznos számodra ez a válasz?
 9/10 anonim ***** válasza:

> 1-től n-ig indexelem a sort.

Akkor viszont itt van a hiba.

2015. jan. 22. 14:09
Hasznos számodra ez a válasz?
 10/10 anonim ***** válasza:

Olvasd már el a leírásomat kérlek.

Milyen hibáról beszélsz?

Mondta bárki is, hogy 0-tól kell indexelni a sort vagy az oszlopot?

Mielőtt még jönnél a tömbökkel: sehol sincs tömb ebben a feladatban!

2015. jan. 22. 16:39
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!