Top.Mail.Ru
Ответы

Работами с файлами и строками - PascalABC.NET

Ребят, можете помочь с лабораторной? Вообще не понимаю как её делать.
В данной лабораторной работе используются две про-граммы: одна для формирования текстового файла с расши-рением .txt, другая для работы с ним.

Сформировать файл с заданной структурой, состоящий из 8-16 строк, каждая из которых состоит из нескольких слов. Для этих целей лучше всего использовать фрагмент стихотво-рения. Во второй программе требуется прочитать данные из файла, обработать их определенным образом и записать в тот же файл.

По дате
По рейтингу
Аватар пользователя
Новичок
8лет

var i, c1, c2, k, n, g: integer;
stroka, slovo: string;
bukva: char;
f1: textfile;
b: array [1..33] of string [255];
c: array [1..33] of integer;
begin
assign (f1, 'inp.txt');
n:=ord('а');
g:=0;
for k:=n to n+31 do
begin
reset (f1);
inc(g);
b[g]:=' '+chr (k)+':';
while not Eof(f1) do
begin
readln (f1, stroka);
stroka:=LowerCase(stroka);
stroka:=stroka+' ';
c1:=1;
c2:=1;
for i:=2 to length (stroka) do
if (stroka[i] = ' ') then
begin
c2:=i;
slovo:=copy (stroka, c1, c2-c1);
if (slovo[length(slovo)] = '.') or (slovo[length(slovo)] = ',') or (slovo[length(slovo)] = '!') then
slovo:=copy (slovo, 1, length (slovo)-1);
bukva:=slovo[1];
if bukva = chr (k) then
begin
b[g]:=b[g]+' '+slovo;
c[g]:= c[g]+1;
end;
c1:=c2+1;
end;
end;
end;
close (f1);
assign (f1, 'outp.txt');
rewrite(f1);
for i:=1 to g do
if c[i] <> 0 then
begin
write (f1, b[i] [2]:4);
write (f1, c[i]:4);
//write (f1, b[i]); {слова на эту букву}
writeln (f1, '');
end;
close (f1);
end.