Задача: String. Строки и массивы строк
Описание
Характеристики решённой задачи
Список файлов
Задача на текстовые файлы, в которой всё забавно делается в один столб. Блокноты естественно создаем сами.
**************************************** ********program Project2;
{$APPTYPE CONSOLE}
uses
SysUtils;
procedure new(n1,n2:string;t:integer);
var f1,f2:textfile; x,y:string; k,i:integer;
begin
assignfile( f1,n1);
assignfile( f2,n2);
reset(f1); rewrite(f2);
y:='';
while not Eof(f1) do begin
readln(f1,x);
k:=2;
for I := 1 to length(x) do begin
if (k<=t) and (x[i]<>'.') then
y:=y+x[i] else begin y:=y+x[i];
writeln(f2,y); y:=''; k:=1; end;
k:=k+1;
end;
y:='';
end;
closefile(f1); closefile(f2);
end;
var n1,n2:string; t:integer;
begin
{ TODO -oUser -cConsole Main : Insert code here } read(t);
n1:='File1.txt'; n2:='File2.txt';
new(n1,n2,t);
readln;
end.
Старая задача с сортировкой массива записей по росту. Очень поможет решить последнюю задачу с сортировкой в typefiles.
**************************************** *************program Project68;
type man=record
name:string;
st:integer; end;
mas=array[1..10] of man;
procedure input(var a:mas; var n:integer);
var i: integer;
begin
write('vvedyte N: '); readln(n); writeln('name_rost :');
for i:=1 to n do begin write(i,' : ');
readln(a[i].name); write('st',i,' : ');
readln(a[i].st);
end; end;
procedure sort(var a:mas; n:integer);
var i,k,j:integer; b:man;
begin
k:=1; i:=1;
while k<>0 do
begin
k:=0;
for j:=1 to n-i do
if a[j].st<a[j+1].st then
begin
b:=a[j];
a[j]:=a[j+1];
a[j+1]:=b; k:=k+1 end;
i:=i+1; end; end;
procedure output(a:mas; n:integer);
var i:integer;
begin
writeln('Spisok : ');
for i:=1 to n do
writeln(a[i].name,' ',a[i].st);
end;
procedure vst(var a:mas; var n:integer);
var i,j:integer; b:man; t:boolean;
begin n:=n+1;
writeln(n,' : '); readln(b.name); readln(b.st);
i:=0; t:=false;
repeat i:=i+1;
if b.st > a[i].st then begin t:=true;
for j:=n-1 downto i do
a[j+1]:=a[j] end;
until t=true;
a[i]:=b;
end;
var a:mas; n,i,k:integer;
begin
input(a,n);
sort(a,n);
output(a,n);
write('skolko man-off dovavit?! '); readln(k);
for i:=1 to k do begin
vst(a,n); end;
output(a,n);
end.