[???] Filtrowanie tekstu w pascalu
Ponownie proszę o pomoc dotyczącą problemu z jakim się zetknąłem, gdyż mój pierwszy post gdzieś przepadł. Program, który chcę napisać w Turbo Pascalu 7.0, miałby za zadanie filtrować tekst, zapisany w notatniku z niepotrzebnych znaków. Tekst wygląda następująco:
00 011817 00 deluge = potop, ulewa= = flood= = 11817==
00 011830 00 sought = = = = = 11830==
01 000041 12 aggressive = agresywny= = = = 00041==
01 006068 12 alive = żywy (nie martwy)= = live= = 06068==
01 011646 12 animal = zwierzęcy= = = = 06681==
Natomiast program oczyściłby go z niepotrzebnych znaków, którymi są: liczby przed słówkami i po słówkach oraz znaki '=' ale tylko po ostatnim słowie każdej linii i ewentualnie pogrubił pierwszy wyraz w każdej z linijek. Tzn. powinno to wyglądać tak:
deluge = potop, ulewa= = flood
sought
aggressive = agresywny
alive = żywy (nie martwy)= = live
animal = zwierzęcy
Jeśli to możliwe prosiłbym wszystkich, którzy mogą mi pomóc o pomoc przy tym programie,
gdyż programować uczę się sam, w domowym zaciszu i nie mam się do kogo zwrócić. Do tej pory udało mi się napisać coś na takiego:
Program znakii6;
uses crt;
type
litery=set of char;
var
l,t:text;
a:char;
znaki:litery;
liczby:litery;
begin
clrscr;
assign (t,'c:\pliko.txt');
assign(l,'c:\pli.txt');
rewrite(l);
reset(t);
znaki:=[#62..#168,' '];
liczby:=['='];
while not eof(t) do
begin
read(t,a);
if (a in znaki) then
write(l,a);
if a in liczby then write(l,#13);
end;
close(l);
close(t);
readln;
end.
niestety efekt jest mało ciekawy, nie ma polskich znaków diakrytycznych, jest np.: ‘ś’, ale NIE MA m.in.: ‘ż’, ‘ć’ itd. Tzn. jest to mniej więcej coś takiego:
deluge
potop ulewa
flood
sought
aggressive
agresywny
alive
ywy nie martwy
live
animal
zwierzcy
animal
zwierz
Dlatego proszę o pomoc gdyż programować uczę się sam, w domowym zaciszu i nie mam się do kogo zwrócić.
Mi jednak to zadanie nie daje spokoju i chciałbym przynajmniej poznać jego rozwiązanie.
P.S. Dziękuję DETOXOWI za wskazanie tego forum.