Kezdőoldal » Számítástechnika » Programozás » C++ középiskolás feladatban...

C++ középiskolás feladatban tudnátok segíteni?

Figyelt kérdés

Ez lenne a feladat: [link]


Csak for ciklust és tömböket kell alkalmazni, mást meg nem nagyon tanultunk. Viszont nem tudom, hogy hogyan álljak neki. :( Olyan bonyolultnak tűnik az egész.



2018. nov. 9. 15:01
 1/9 anonim ***** válasza:
Mit is írtál eddig?
2018. nov. 9. 15:33
Hasznos számodra ez a válasz?
 2/9 anonim ***** válasza:
Először nézz rá a példára, hogy hova kell azt a két plusz őrséget tenni, és hogy ez miből látszik. Ezután adja magát, hogy ha pl. végigszaladsz az őrhelyeken, akkor mit kell figyelni. (Egy falnak KÉT vége van.)
2018. nov. 9. 15:44
Hasznos számodra ez a válasz?
 3/9 anonim ***** válasza:

megnézed az üres hely hosszát, ha <3, akkor nem kell őr

egyébként kell 1 őr, levonsz a hosszból 3at és újra ellenőrzöd, addig, amíg nem fog kelleni őr.


Szerintem ez a legegyszerűbb és leggyorsabb módszer, kezdd el írni, ha nem megy tölts fel ami kész és segítünk tovább :)

2018. nov. 9. 18:22
Hasznos számodra ez a válasz?
 4/9 A kérdező kommentje:

3. Ez jó ötlet, csak nem tudom hogyan kell kivitelezni.


1. Már az elején elakadtam, csak deklaráltam a 3 változót (int N - őrhelyek száma, int M - ennyi helyen van őrség, és egy adat[N] nevü változó), az N-t és az M-et simán cin-el bekértem, az adat változót meg for ciklusban N-szer kértem be és innen nem tudom hogyan tovább.

2018. nov. 9. 19:34
 5/9 anonim ***** válasza:

Nem egészen értem, hogy jön ki a kettő a példába. Egyrészt a legelső nem is őrzött hiszen nincs egyik végén se őrség, igaz csak egy vége van mert a legelső.

Ha 0011111010011011 bitvektor reprezentálja az őrségeket (ahol az aktuális helyen 0 ha nincs 1 ha van őrség) akkor a feltételnek megfelelően, (feltéve a legelső anomáliától eltekintek) akkor ezt kapom 0010010010010010. Itt meg egyértelműen látszik hogy nem 2 hanem 5.

2018. nov. 9. 21:38
Hasznos számodra ez a válasz?
 6/9 A kérdező kommentje:
Én sem értem már :/ pedig a megoldásnak egyszerűnek kell lennie, mert még nagyon az elején vagyunk, if else, for ciklus, tömböket tanultuk kb és ennyi.
2018. nov. 9. 22:37
 7/9 anonim ***** válasza:

Nem látok semmi mást minthogy rossz a példa és a feladat kiírása se precíz. Erre 2 db ésszerű esetet látok ennek javítására. A legegyszerűbb és legképzenfekvőbb az, ha a legelső és a legutolsó torony rendhagyó mivel azok védettek mindegy milyen szomszédjaik vannak és a példa amit adtak eredménynek az hibás, nem 2 hanem 5. Ugyanakkor az illusztráció az jó.

A másik eset a példa se jó alapból mert nem teljesül már így se hogy minden torony védett az első torony és annak szomszédja miatt, így nem specifikált hogy mit kéne adnia eredménynek, hibás input.

Ha az első szerint jársz el akkor akkora tömböt hozol létre mint amekkora max lehet a feladat szerint, tomb[N] ahol N-t bekéred az nem pont szabványos, bár ettől még elfogadhatja a c++ fordító, de nem köteles elfogadni ergo nem fog minden c++ fordítóval működni a fordítási időben ismeretlen tömbméret, erre vannak dinamikus tömb meg egyéb megoldások, de azt nem hiszem hogy tanultátok, ezért adta meg hogy max mekkora lehet.

E szerint tölts fel egy bool tömböt úgy hogy kezdetben minden eleme false és az annyiadik eleme legyen true ahanyadik jön sorba belovasás során. A példa szerint először a 6.-ik, utána a 3.-ik. A tömb mérete 101 legyen mert 0-tól sorszámozódik, de te 1-től kezeled N-ig ahol N max 100 lehet ami ugye a 101-ik elem. De lehet úgy is hogy 100 elemű a tömb és 1-et kivonva korrigálod ennek megfelelően az indexelést. Ha nem tanultatok bool tömböt akkor lehet int tömb is ahol 0-át veszed a hamisnak 1-et igaznak. Utána meg végighaladsz a kérdéses tömbeleeken egy for ciklussal és értelem szerűen hamisra állítasz a tömbbe értékeket ha kell, hogy minimalizáld a szükséges igaz értékek számát. Majd a végén összeszámolod mennyi igaz maradt és kiírod.

2018. nov. 10. 14:53
Hasznos számodra ez a válasz?
 8/9 anonim ***** válasza:

Szerintem nincs gond a példával.

Kell őrség az 1. őrhelyre bal szélen, illetve kell még egy őrség a 9. vagy a 10. őrhelyre.

2018. nov. 10. 21:30
Hasznos számodra ez a válasz?
 9/9 anonim ***** válasza:
Jaaa ok, hülye vagyok, nem elvenni hanem hozzátenni kell. Úgy meg nyilvánvaló.
2018. nov. 11. 00:52
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!