Kezdőoldal » Számítástechnika » Programozás » Üdv! Régebben feltettem itt...

Üdv! Régebben feltettem itt egy kérdést egy könyvkód megfejtéséhez. Hogyan tovább? Többi lent.

Figyelt kérdés

A régi kérdésem:Van egy könyv kód, szeretnék egy olyan programot irni ami bekérné a könyvet és a kód alapján megkeresi az adott szót majd ezt egy külön fájlban kimenti. Aki esetleg nem értené, könyv kód pl 5 14 67 367 na most a számok eggyes szavakat jelölnek

Lefelé hajlott a nap. Búcsúzóul betekintett még az erdőbe, hol hosszúra nyúlt az árnyék.Az 5=Búcsúzóul 14=árnyék és igy tovább.

Született egy épkézláb megoldás, de nagyon sok probléma volt vele.Pdf helyett a txt formátumnál kötöttem ki(igy egyszerübb)A program röviden:van 3 txt fájl,1.a kód ebbe mentek a számok,2.a szöveg ebbe került a szöveg,3.a visszafejtett szöveg.A hibái a programnak az volt hogy pl ha egy szám többször szerepelt a kódban akkor hibával kilépett, vagy a szövegben az entert is új szónak vette igy elszúszott az egész igy használhatatlan volt.Szóval nem volt hülye biztos.Annak is örülnék ha objektum orientált lenne pl elinditanánk a programot betallóznánk a szügséges fájlokat és a dekódol gomb megnyomásával már megis kapnánk a kész fájlt bár ez már csak a külcsin.

Szóval kérnék segitséget,ötletet vagy akár kész programot ezekben a dolgokban.Illetve c+ nyelv helyett mi mást tudnátok mondani ami valamivel egyszerübb és objektum orientált is?Ez pedig maga a program:

#include <fstream>

#include <iterator>

#include <algorithm>


using namespace std;


int main()

{

ifstream ifsNumbers("numbers.txt");

ifstream ifsText("text.txt");

ofstream ofs("words.txt");


vector<int> vNumbers( istream_iterator<int>(ifsNumbers), (istream_iterator<int>()) );

sort(vNumbers.begin(), vNumbers.end());


int cnt = 0;

auto cit = vNumbers.cbegin();

copy_if( istream_iterator<string>(ifsText), istream_iterator<string>(), ostream_iterator<string>(ofs, "\n"), [&] (const string&)

{

if (cit != vNumbers.cend() && cnt++ == *cit)

{

cit++;

return true;

}

else

{

return false;

}

});


ifsNumbers.close();

ifsText.close();

ofs.close();

return 0;

}



2014. márc. 8. 21:17
1 2 3
 11/22 SimkoL ***** válasza:
Itt megtalálod a kodol.zip file-ban a forrást. Lehet világba pofásítani, egy egyszerű alap.
2014. márc. 9. 19:49
Hasznos számodra ez a válasz?
 12/22 A kérdező kommentje:
Az oldal azt irja hogy nem megengedett fájl tipus.
2014. márc. 9. 20:02
 13/22 SimkoL ***** válasza:
Csak a *.jpg, *.jpeg, *.gif, *.rar, *.zip, *.avi, *.wmv. file tipusokat engedélyeztem, csomagold be zip vagy rar formátumba 8 MB-ig. Ha nem megy engedélyezem a txt-is :)
2014. márc. 9. 20:06
Hasznos számodra ez a válasz?
 14/22 A kérdező kommentje:
Nem láttam a fátol az erdőt:), nemis figyeltem mik az engedélyezett file ok, mindjárt becsomagolom és küldöm.
2014. márc. 9. 20:09
 15/22 SimkoL ***** válasza:
Közben megengedtem a *.txt - t :)
2014. márc. 9. 20:11
Hasznos számodra ez a válasz?
 16/22 SimkoL ***** válasza:
Igen, így már látom is, hogy mi a gond. A szöveges résznél a Delphi az aposztrófokat ['] és ["] úgy kezeli az ExtractStrings eljárásnál, mint ha öszetartozók lennének, alapból nem veszi figyelembe a következő szóközöket. Kijavítod vagy javítsam én ?
2014. márc. 9. 20:26
Hasznos számodra ez a válasz?
 17/22 A kérdező kommentje:
Megköszönném ha kijavitanád, most igy hirtelen nemértem mi a helyzet.:)
2014. márc. 9. 20:29
 18/22 SimkoL ***** válasza:
Ja és a számokat csak szóközzel és nem vesszővel választjuk el. Nem nagy dolog egyiket sem átírni de sajnos 'hozott' anyag nélkül nehéz kitalálni milyen is a formátum.
2014. márc. 9. 20:30
Hasznos számodra ez a válasz?
 19/22 A kérdező kommentje:
Igen a vesszőket énis átcseréltem szóközre,csak a file amit küldtem abban nem volt igy.
2014. márc. 9. 20:32
 20/22 A kérdező kommentje:

Közben rájöttem hogy mit is akartál mondani, az aposztrófokat kivette elis kezdi szépen darálni a szöveget de egy idő után kiirja hogy List index out of bounds(-1)

Ez mi a búbánat?:O

2014. márc. 9. 20:41
1 2 3

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!