Pereiti prie turinio

Rekomenduojami pranešimai

Mokausi pascalį ir yra tokai užduotis

Tekstiniame faile stulpeliu surašyti žodžiai. Parašykite programa, kuri nustatytu, ar

klaviatura ivestas žodis yra faile ir jei yra, tai kiek kartu kartojasi.

 

kažką parašiau ir nerandu ko neveikia, gal turėtumėt kokį greitesnį variantą, tik pradėjau mokytis skaitymą iš bylų(ar failų) tad labai praverstų jūsų pagalba

 

štai mano sprendimas:

 

program zodziai;
const   duomenys = 'zodis.txt';

procedure vienas(var A:text; var zdz : string);
var zodis : string;
   n : integer;
begin
   n := 0;
   while not eoln(A) do
   begin
       readln(A, zodis);
       if zdz = zodis then n := n + 1;
   end;
   writeln(n);
end;

procedure skaitymas(var A:text; var zdz : string);
begin
   Assign(A,duomenys); reset(A);
       while not eof(A) do
           vienas(A, zdz);
   close(A);
end;

var     A : text;
       zdz : string;
begin
   writeln('iveskite zodi: ');
   readln(zdz);
   skaitymas(A, zdz);
 Readln;
end.

 

zodziu eilute: (aišku rašyta atsitiktinai į galvą lindę žodžiai)

 

zodis

labas

ate

ate

labas

zodis

namas

butas

stalas

kede

du

kede

stalas

kede

vienas

du

trys

 

ir jei parašau pvz : kede;

norėčiau kad išmestų man skaičių 3

Redagavo raima220
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Logika paprasta, susirašai visus žodžius į masyvą. Tada suki ciklą ir lygini masyve esančius žodžius su ivestu, o tada

 

int count = 0;

if (ivestas.equals(is_masyvo))

count++;

 

Nežinau, kaip su paskaliu, bet čia tikrai labai paprasta. Pasibraižyk, ant lapo :) Padeda.

Redagavo Ignas B
Nuoroda į pranešimą
Dalintis kituose puslapiuose

va padariau šitaip ir veikia

program zodziai;
const   duomenys = 'zodis.txt';

procedure skaitymas(var A:text; var zdz : string);
var zodis : string;
   n : integer;
begin
   n := 0;
   Assign(A,duomenys); reset(A);
       while not eoln(A) do
        begin
           readln(A, zodis);
           if zdz = zodis then n := n + 1;
        end;
       writeln(n);
       close(A);
end;

var     A : text;
       zdz : string;
begin
   writeln('iveskite zodi: ');
   readln(zdz);
   skaitymas(A, zdz);
 Readln;
end.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Su funkcija bent jau man atrodo, kad geriau yra daryti

program programa;
const
   duom = 'zodis.txt';

function KiekKartuKartojasi(a:string):integer;
var D:text;
   b:string;
   kiek:integer;
begin
kiek := 0;
assign(D, duom); reset(D);
while not EoF(D) do
   begin
   readln(D, b);
   if a = b then kiek += 1;
   end;
close(D);
KiekKartuKartojasi := kiek;
end;

var a:string;
Begin
write('Iveskite zodi: ');
readln(a);
writeln('Jusu ivestas zodis kartojasi: ', KiekKartuKartojasi(a), ' kartu.');
readln;
End.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Su funkcija bent jau man atrodo, kad geriau yra daryti

program programa;
const
   duom = 'zodis.txt';

function KiekKartuKartojasi(a:string):integer;
var D:text;
   b:string;
   kiek:integer;
begin
kiek := 0;
assign(D, duom); reset(D);
while not EoF(D) do
   begin
   readln(D, b);
   if a = b then kiek += 1;
   end;
close(D);
KiekKartuKartojasi := kiek;
end;

var a:string;
Begin
write('Iveskite zodi: ');
readln(a);
writeln('Jusu ivestas zodis kartojasi: ', KiekKartuKartojasi(a), ' kartu.');
readln;
End.

Nelabai aš suprantu tuos EoF ir Eoln supranti kad failo pabaiga ir eilutės pabaiga... bet man veikia su eoln gal galima plačiau apie juos abu ?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Nelabai pats suprantu kaip tau gali veikti su EoLn, nes while not EoF(D) do - (EoF - End of File) reiškia, kad skaitys eilutes tol kol nebus failo pabaiga, o while not EoLn(A) do - (EoLn - End of Line) reiška, kad jis turi skaityti failą kol nėra eilutės pabaigos, taip, kad pas tave jis turėtų perskaityti tik vieną failo eilutę...

Redagavo audrius^
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Nelabai pats suprantu kaip tau gali veikti su EoLn, nes while not EoF(D) do - (EoF - End of File) reiškia, kad skaitys eilutes tol kol nebus failo pabaiga, o while not EoLn(A) do - (EoLn - End of Line) reiška, kad jis turi skaityti failą kol nėra eilutės pabaigos, taip, kad pas tave jis turėtų perskaityti tik vieną failo eilutę...

bet kažko skaito tvarkingai visą failą po eilutę ;/

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...