Kezdőoldal » Számítástechnika » Programozás » FPC Ötletet szeretnék ehhez a...

FPC Ötletet szeretnék ehhez a feladathoz. Valaki?

Figyelt kérdés

Be kell olvasni egy stringet és meg kell találni azokat a karaktereket, amelyek palindrómm alakítják a karaktersort, és ezek száma minimális legyen!

Pl. beolvasom: abc

Kiírom: ba



2015. febr. 9. 20:36
 1/6 anonim ***** válasza:
A feladat a következő: ki kell írni a szöveget visszafelé. Ha a szöveg páratlan, akkor az utolsó karaktert nem kell. For ciklus, downto, length(szöveg) és elágazás a barátaid.
2015. febr. 9. 21:50
Hasznos számodra ez a válasz?
 2/6 anonim ***** válasza:

#1 vagyok

Sőt, párosnál sem kell az utolsó karakter. Bocsi.

2015. febr. 9. 21:51
Hasznos számodra ez a válasz?
 3/6 A kérdező kommentje:
pont a feltételekkel van a problémám :D addig ment
2015. febr. 9. 22:06
 4/6 anonim ***** válasza:

#1-es: a feladat hogy MINIMÁLIS megoldást adjunk, és ezt nem garantálod így.


Több megoldás is lehetséges, van például a brute-force, amikor a a szöveg elejét a végére kezded pakolni fordított sorrendben, és mindig megnézed hogy palindrom e az újonan létrehozott szöveg.

A string: abcsdffds

abcsdffds -> palindom? NEM

abcsdffdsa -> palindom? NEM

abcsdffdsba -> palindom? NEM

abcsdffdscba -> palindom? IGEN!


De van egy hatékonyabb, frappánsabb megoldás is.

Az algoritmus leírása helyett inkább bemutatom:


Legyen megint a string: abcsdffds


Most fordítsuk meg a stringet -> sdffdscba


Írjuk egymás alá a kettőt, és kezdjük eltolni az alsót, amíg ...

abcsdffds

sdffdscba


abcsdffds

_sdffdscba


abcsdffds

__sdffdscba


abcsdffds

___sdffdscba


Bammm, itt megállunk. Lehet látni hogy a 4. betűtől kezdve a string megegyezik a megfordított string elejével. Most írjuk ki a megfordított szöveg maradék karakterét a konzolra, és végeztünk: cba


Remélem látszik normálisan az eltolás itt a gyk-n, ha nem akkor másold be mondjuk egy jegyzettömbbe a szöveget és látni fogod.


Rád bízom hogy ezt megírd algoritmikusan.

2015. febr. 9. 22:13
Hasznos számodra ez a válasz?
 5/6 anonim ***** válasza:

#1-#2 vagyok


Mondjuk valóban bonyolultabb a feladat annál, mint amit először kigondoltam. Pl. "abab"-nál csak egy "a"-t kell kiírnia. Lehet inkább nem kéne erőltetnem az okoskodást ma már :D


A brute force megoldás az lenne, ha az N-1. karaktertől kezdve egyesével hozzáraknád a soron következőt a szöveg végéhez, majd eldöntenéd, palindróm-e. Ha nem, mész tovább. Ha igen, megállsz. (Biztos van szebb megoldás is.)


Palindróm vizsgálatot meg úgy tudsz csinálni, hogy indulsz a szöveg 1. karakterétől és összeveted az N. karakterrel, ... az i. karaktert az N-i+1. karakterrel, ezt egészen a szöveg közepéig. Ha mind egyenlőek voltak, akkor palindróm a cuccos. Ha bármelyik pár eltér, meg is állhatsz.

2015. febr. 9. 22:18
Hasznos számodra ez a válasz?
 6/6 anonim ***** válasza:

#1-#2-#5 vagyok


#4: igen, tudom, rájöttem :)

2015. febr. 9. 22:18
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!