Pereiti prie turinio

Žodžių skaitymas iš eilutės (pascal)


Rekomenduojami pranešimai

Sveiki, reikia Jūsų pagalbos.

 

type masyvas = array [1..50] of string;

matrica = array [1..50, 1..100] of string;

// procedūra įrašanti eilutes į masyvą

//------------------------------------------------------------------------------

procedure DuomSkaitymas(var n : integer; var eil : masyvas);

var F : text; // duomenų failas

i : integer; // ciklo kintamasis

Begin

Assign(F,'duom.txt'); Reset(F);

ReadLn(f, n);

for i := 1 to n do

begin

Read(F,eil);

writeln(eil);

readln(f);

end;

Close(F);

end;

//------------------------------------------------------------------------------

procedure Zodis(E : string; k : integer; var Z : string; var p : integer);

var yra : boolean; // Pozymis, kada rasta zodzio pabaiga

Begin

Z := ''; p := 0;

E := ' ' + E + ' ';

k := k + 1; // Paieska atliekame nuo pirmo simbolio

yra := false;

// Analizuojame zodzius eiluteje E

while ( k < Length(E)) and not yra do

Begin

if (E[k-1] = ' ') and not (E[k] = ' ') then p := k;

if not (E[k] = ' ') and (E[k+1] = ' ') and (p <> 0) then

// Radome zodi. Ji isimename ir fiksuojame zodzio pabaiga

Begin

Z := Copy(E,p,k-p+1); // Isimename zodi

yra := true; // Fiksuojama zodzio pabaiga

end;

k := k + 1;

end;

p := p - 1; // Koreguojama zodzio pradzia

end;

//----------------------------------------------------------------------------------------

// Procedūra surašo žodžius iš eilutės E į matricą Zod kurio elementų skaičius - kiek

procedure ZodziuMatrica(var Eil : masyvas; var Zod : matrica; var kiek : integer; n : integer);

var i, k, p :integer;

Z : string;

Begin

for i := 1 to n do

begin

k := 0; Z :=' '; kiek := 0;

// Analizuojame zodzius

while k < Length(Eil) do

Begin

Zodis(Eil,k ,Z ,p);

// čia kopijuoja žodžius į matricą Zod

Zod[i, kiek] := Copy(Eil,p,Length(Z));

kiek := kiek + 1;

k := p + Length(Z); // Kitas žodis eiluteje

end;

end;

end;

//---------------------------------------------------------------------------------

 

Man reikia , jog eilutėje esantis žodžiai būtų surašyti į matricą(yra kelios eilutės), tačiau kažkurioje vietoje gaunu perpildymą. Procedūrą DuomSkaitymas viskas tvarkoje.

 

P.S. Atsiprašau už netvarkingą kodą.

Redagavo audrius159
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.

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