C++ programozási feladat valaki segítség?
Olyan feladatom van hogy kell egy 2 dimenziós tömb, a tömb legelső eleme 1 és a 2. sora úgy alakul hogy megnézi mi és hány darab van az első sorban tehát elöször kiirja hogy 1 db 1 es van a 3. sor már úgy van hogy 2dd és 1 es tehát:
1
11
21
1211
3112
Többféleképpen is meg lehet oldani.
Ha tömböket használunk akkor dinamikust érdemes használni és valahogy meg kell jelölni a tömb méretét. Pl. struct-ot használva vagy a 0.-ik elem tárolja a méretet, vagy a legutolsó tömb érték olyan érték ami nem fordulhat elő kvázi végjelnek lehet használni. Mondjuk ha rajtam múlna akkor nem tömböket használnék hanem az STL okosságait pl vektor-t, de ez technikai részlet, tömbökkel is meg lehet oldani.
Annak kiszámításához hogy mi lesz a következő tömb egy függvény kell ami előállítja. Ennek megvalósítása néhány ciklus vagyis technikai, evidens.
Mi az ami nem megy?
nagyjából értem
muszáj tömböket használni mert most vettük a 2 dimenziósat és gondolom azért kaptuk ezt de lehet h nem nem lehet megérteni a tanárunkat :D
Akkor tömbökkel old meg! Igaz dinamikus tömbbel elegánsabb, de statikussal egyszerűbb. Mondjuk nem tudom hogy vettétek e a dinamikusat. Szerintem megfelelő lesz statikussal megoldanod.
(A 2 dimenziós tömb az nem más mint tömbök tömbje, vagyis olyan 1 dimenziós tömb mely tömbelemekként tömböket tartalmaz.)
--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--
Akkora tömböt hozz létre amekkora biztosan elég lesz!
pl. 10 sor esetén 10x200 biztosan elég.
10 méretű tömb esetén a tömbindexek 0-tól 9-ig terjednek.
0.-ik index az első sor.
Mindig csak az aktuálisan használt utolsó kettő 1 dimenziós tömbön (utolsó 2 sor) kell a számítást elvégezni. Ez gondolom nyilvánvaló, ha papíron számolod a sorokat és a 6.-ik sornál tartasz nem foglalkozol azzal hogy mi volt pl a 3.-ik sorba.
Összesen 10 sor esetében. A tömbindex (mely a sorokat indexeli) nevezzük i-nek, menjen i 0-tól 8-ig
for (i=0;i<=8;i++), az i-edik tömb melyből olvasunk, az i+1.-ik tömb (sor) ahova írunk.
Végigmegyünk az i.-ik soron egy for ciklussal és megszámoljuk miből mennyi van, egy erre fenntartott 1 dimenziós-s tömbbe eltároljuk. pl ha darabszam ennek a tömbnek a neve akkor darabszam[elem]++ az elem-et hozzáadja a darabszámhoz a megfelelő helyre. Ez alapján állítjuk elő az i+1-ik sort.Szintén egy for-al. Végigmegyünk a darabszam tömbön hogy miből mennyi van ... persze minden használat előtt a darabszam tömböt kinullázzuk.
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!