Wątek przeniesiony 2015-12-19 17:29 z Delphi i Pascal przez furious programming.

Zliczanie słów w pliku tekstowym

0

Witam
Potrzebuję pomocy/wskazówki do programu który ma zliczać wyrazy zaczynające się na samogłoski. Do zliczania słów wykombinowałem aby liczyć odstępy ' ', i dodać 1 ponieważ po ostatnim słowie nie ma spacji. Jednak z tymi samogłoskami mam pewien problem. Z góry dziękuję za pomoc.

for i:=1 to length (plik) do if plik[i]=' ' then
Licznik:=Licznik+1;
writeln;
writeln ('Ilosc slow: ', Licznik+1);
0

Zobacz Zbiory

2
var Ch:Char;
var F:File of char;
var Count:Integer;
var InWord,NextIn:Boolean;
const Delimeter:String=',.?!;: '#9#13#10;
const Good:String='aeyuioAEYUIO';
begin
  Count:=0;
  InWord:=false;
  Assign(F,'Project1.lpr');
  Reset(F);
  while not Eof(F) do
  begin
    Read(F,Ch);
    NextIn:=(Pos(Ch,Delimeter)<=0);
    Inc(Count,Ord((NextIn)and(not InWord)and(Pos(Ch,Good)>0)));
    InWord:=NextIn;
 end;
 Close(F);
 WriteLn(Count);
 ReadLn;
end.
0

Dzięki za pomoc, mógłby mi ktoś jeszcze mniej więcej wyjaśnić działanie tej linijki?

const Delimeter:String=',.?!;: '#9#13#10;

Chciałem się pobawić i zliczać słowa zaczynające się z dużych liter

const Good:String='A..Z';
2

Ad 1. W linijce deklaruje się stały napis, linijka nie ma żadnego działania.
Ad 2. Aby odpowiednio zmienić linijkę Good, musisz zrozumieć jak działa kod. No i tu pojawia się problem: dałbyś rady zrozumieć gdyby ten lub podobny napisałeś sam, teraz potrzebujesz takie samo zadanie rozwiązać osobiście. Jeżeli nie zaczniesz pisać osobiście to na zawsze będziesz skazany na innych. Tylko że jak zadania staną się większe (a się staną) to już za darmo odwalenia pracy za ciebie nie uzyskasz.

1 użytkowników online, w tym zalogowanych: 0, gości: 1