Kezdőoldal » Számítástechnika » Programozás » Mi a baja a programnak?

Mi a baja a programnak?

Figyelt kérdés

A feladat, hogy beolvasunk be egy tömböt, majd a tömb palindrom számaiból alkossunk egy újabb tömböt. A végén mindkettőt írjuk ki.

[link]

[link]



2020. márc. 30. 19:00
 1/7 anonim ***** válasza:
76%
Szia. Nem kötekedésből mondom, hanem szeretnék segíteni. Ha képként töltöd fel a kódod, akkor nem valószínű, hogy válaszolni fognak rá, mert nem áll neki senki leírogatni, hogy ellenőrizze, mondjuk egy fejlesztő környezetben az eredményt. Használj inkább egy kódmegosztó oldalt, ahova feltöltheted a kódot és beillesztheted ide a linket. A [link] erre például kiválóan alkalmas.
2020. márc. 30. 20:28
Hasznos számodra ez a válasz?
 2/7 anonim ***** válasza:

Töltsd fel pastebinre mondjuk a kódot és azt linkeld.

Illetve leírhatnád bővebben, hogy mi a problémád.

Hibát kapsz futtatáskor? Nem jó az eredmény? Mi nem stimmel?

2020. márc. 30. 21:37
Hasznos számodra ez a válasz?
 3/7 tabaki ***** válasza:
Nem tudom. A tiedet nem volt idegem kibogarászni, de én is valami hasonlót írtam, az viszont működik.
2020. márc. 31. 04:06
Hasznos számodra ez a válasz?
 4/7 tabaki ***** válasza:

Némiképp vontatottan halad a társalgás, de legalább volt ideje már-már bizonyossággá érlelődnie annak a gyanúmnak, hogy teljesen félreértetted a feladatot.

„...majd a tömb palindrom számaiból alkossunk egy újabb tömböt.”

Figyelmeztess, ha az én agyvelőm áll csáléra, de nekem az idézett sor semmiképp nem jelenti azt, hogy két előre biztosított statikus tömb között megy az adok-kapok (amelyek közül az egyikben vagy lézeng egy-két szám, vagy sem, de hogy nagyobb részt fölöslegesen foglalja a helyet, az faktum). Azt már inkább, hogy az első tömb adatainak alapján dinamikus memóriafoglalással kéne éppen megfelelő méret helyet biztosítanod a palindromoknak. Föltevésem szerint ez lenne majd a feladat érdemi része, nem pedig a magunk közt szólván eléggé problémátlan palindromkeresés.

2020. márc. 31. 14:54
Hasznos számodra ez a válasz?
 5/7 anonim ***** válasza:

Amikor végigmész a beolvasott tömbon (2. for ciklus), az m értékét mindig 0-ra állítod, tehát az eredmény tömbben mindig az első heylre teszed a számot... az za az eredmény tömbben maximum 1 elem "lesz". Ha az utolsó sázm palindomn akkor az.. Ha nem palindtom, akkor "nem lesz benne" elem. (Nyilván benne lesz max 1, de az m 0 lesz).


Másrészt amikor kiirod, hogy az eredeti tömb nem tartalmaz palindom elemet azt nem ott kéne... mert te a vizsgáló cikluson belül teszed, azaz ezt minden nem palindrom elemre kiirja... akkor kéne ezt kiirnod a 2. ciklus után, ha m=0.


Harmadrészt van benne egy typo: palidrom.


Egyébként valóban szebb lenne szövegként megosztanod máskor, de azért ez nem az a kód, amit ne lehetne szemmel átolvasni:)

2020. márc. 31. 15:23
Hasznos számodra ez a válasz?
 6/7 anonim ***** válasza:

Illetve mégegy... az m nincs inicializáva csak a cikluson belül... azaz ha n=0, akkor m memóriaszemét lesz.. azaz az utolsó for ciklusnál segfault lesz.


Illetve ha n>100, akkor is gond van, de ez nyilván egyértelmű.


Tabaki hozzászólására annyit, hogy ha adott méretű tömböt szeretne, akkor másold át neki a legvégén egy újabb ciklussal (ha tudod hogy kell dinamikusan memóriát foglalni, mert lehetséges, hogy azt még nem tanultátok, hiszen a kódodban olyan rész egyébként nincs). Én nem hinném, hogy az a lényeg a feladatban.


Nyilván egyedi feltételek alapján lehet gond a memória foglalással, pl ha a feladat úgy hangzik, hogy rengeteg szám van, de csak kevés palindrom akkor érdemes valami dinamikusan növekvő lisátva gyűjteni.


Vagy ha szabad módosítani az eredeti tömböt, akkor ott kiüríteni a nem megfleleő elemet.


Vagy először csak megszámolni, de ezzel meg a futásidő nő..


Vagy ha bonyolítani szeretnéd, használhatsz valami bitsetet, ekkor csak darabszám/8 byte kell kb, nem darabszám*4 byte.


Szóval valamit valamiért... gyakorlásnak sztem teljsen oké a fix méretű tömb. Pláne ha még nem tanultatok mást.

2020. márc. 31. 15:34
Hasznos számodra ez a válasz?
 7/7 tabaki ***** válasza:

„Vagy először csak megszámolni, de ezzel meg a futásidő nő..”


Ezt megerősíthetem, mivel én is ezen megoldást alkalmaztam; Sok szám esetén fél helyett kábé 0,7 szempillantásnyira lassul a dupla ellenőrzések miatt.

[link]

2020. márc. 31. 20:50
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!