Var f,s:text; st,sp:string; i:integer; c:char; begin assign(s,'text1.txt'); reset(s); while not Eof(s) do begin; readln(s,sp); st:=st+sp+chr(10)+chr(13); end; close(s); for i:=1 to length(st) div 2 do begin c:=st[i]; st[i]:=st[length(st)-i+1]; st[length(st)-i+1]:=c; end; assign(f,'text.txt'); rewrite(f); write(f,st); close(f); end.
Текст в файле text1.txt:
Simple text 1And another simple text 2New text
Текст в файле text.txt: txet weN2 txet elpmis rehtona dnA1 txet elpmiS
Здесь нужно использовать вс типизированный файл и, соответственно, вторую файловую переменную (fr2). Сделать это можно так: while not eof(fr) and (kol=0) do begin read(fr, Marshrut); if (Marshrut.NK.N <> '11') then write(fr2,Marshrut) else begin inc(kol); y:=Marshrut; end; end; if not eof(fr) then begin read(fr, Marshrut); write(fr2,Marshrut); end; if (kol=1) then write(fr2,y); Дальше нужно просто переписать оставшиеся записи из первого файла во второй. Затем оба файла закрыть, первый файл удалить, а второй переименовать (т.е. назвать его так, как назывался первый файл).
Попробуйте ещё вот такой вариант: (здесь k1 и k2 - целые, а y - типа ) if (Marshrut.NK.N = '11') then begin writeln('... '); inc(kol); y:=Marshrut; k1:=FilePos(fr)-1; k2:=FilePos(fr); if not eof(fr) then begin read(fr, Marshrut); seek (fr, k1); write(fr, Marshrut); seek (fr, k2); write (fr, y); end;
80) Код программы:
var A:array[1..10] of integer;
i:integer;
begin
writeln('Заданный массив:');
for i:=1 to 10 do begin
A[i]:=random(101);
write(A[i], ' ');
end;
writeln('');
writeln('Четные элементы массива:');
for i:=1 to 10 do begin
if (A[i] mod 2 = 0) then
writeln(A[i]);
end;
end.
81) Код программы:
var D:array[1..8] of integer;
sum, i:integer;
begin
sum:= 0;
writeln('Заданный массив:');
for i:=1 to 8 do begin
D[i]:=random(101);
write(D[i], ' ');
end;
writeln('');
for i:=1 to 8 do
sum:= sum + D[i];
writeln('Сумма элементов массива = ',sum);
end.