Kezdőoldal » Számítástechnika » Programozás » Van egy könyv kód, szeretnék...

Van egy könyv kód, szeretnék egy olyan programot irni ami bekérné a könyvet (mondjuk pdf-ben) és a kód alapján megkeresi az adott szót majd ezt egy külön fájlban kimenti. Milyen nyelven lenne érdemes megirni? Hogy kezdjek neki?

Figyelt kérdés

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.


2013. aug. 2. 16:13
1 2
 11/17 A kérdező kommentje:
Hát mostmár txt ből mivel a pdf ből ahogy irtad elég macera lenne.Köszi a segitséget
2013. aug. 2. 20:21
 12/17 anonim ***** válasza:

Ha már adott szövegből kell a szavakhoz számokat rendelni én biztos minimum egy hashmappel, de talán inkább egy adatbázissal indulnék.

Egy ilyen állomány akkor jó, ha hosszú, ami pedig nagy memóriahasználatot generál.


Egy SQLite adatbázissal mondjuk kapásból hordozható formátumra lehet hozni a kódtáblát kényelmesen és könnyen lehet kiszűrni, vagy struktúrától függően direkt letárolni a redundanciát. (Egy szó többször szerepel -> 1 kód legyen vagy kapásból az összes?)


A nyelv igazából mindegy, mondjuk én ennek biztos nem C++-ban ugranék neki.

Inkább mondjuk Python vagy Java nyelven. Egyrészt mert ezekkel több a gyakorlatom, másrészt hordozhatóak, harmadrészt van egy halom stringkezelő függvényük és beolvasási módjuk. (Ebben a Python az igazi bajnok.)

2013. aug. 3. 11:32
Hasznos számodra ez a válasz?
 13/17 anonim ***** válasza:
Szerintem egy ilyen egyszerű szűréshez felesleges adatbázist építeni. Bőven elég a fájl végigolvasása soronként/szavanként, közben egy számláló nyilvántartása és a megfelelő szavak hozzáfűzése egy kimeneti fájlhoz.
2013. aug. 3. 11:46
Hasznos számodra ez a válasz?
 14/17 anonim ***** válasza:
Jajó, továbbgondoltam, hogy ha egy könyvből többféle kód alapján akarunk szavakat kibányászni, akkor van értelme adatbázisnak. :)
2013. aug. 3. 11:49
Hasznos számodra ez a válasz?
 15/17 anonim ***** válasza:

Érdemes nagyban gondolkodni.

Tekintve, hogy ha mondjuk ezt a kérdező valamilyen "titkosításhoz" is akarja használni, akkor mindenképpen nyerő egy adatbázis. :)

2013. aug. 3. 12:57
Hasznos számodra ez a válasz?
 16/17 A kérdező kommentje:

A próblémám megoldva!!

#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;

}

Ahol az exe van, ott kell lennie egy numbers.txt fájlnak, ami a számokat tartalmazza tetszőleges 'whitespace'-ekkel elválasztva (tab, sima szóköz, új sor..)

pl.:

numbers.txt:


0 13



Valamint egy

text.txt, amiben a feldolgozandó szöveg található.


Lefelé hajlott a nap. Búcsúzóul betekintett még az erdőbe, hol hosszúra nyúlt az árnyék.



Az eredmény a words.txt fájlban lesz megtalálható.

Jelen példákra:


Búcsúzóul

árnyék.

2013. aug. 3. 21:23
 17/17 anonim válasza:

Php-ban kb:

<?php

$words = {5,14,67,367};

$content = file("textfile.txt");

$conArray = explode(" ",$content);

foreach($words as $value) print $conarray[$value + 1]."\n";

?>


:)

2013. okt. 24. 12:44
Hasznos számodra ez a válasz?
1 2

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!