program zapis; uses crt; const n=10; type adres=record street:string; dom,kv,zilci:integer; end; ff=file of adres; mas_adres=array [1..n] of adres; mas_nov=array [1..n] of adres; var f:ff; f1:file of real; z:adres; m:mas_adres; ma:mas_nov; i,t,p:integer; k:word; v:boolean; st,sp:string; Procedure vvod(var zt:adres;stt:string); begin for i:=1 to 2 do with m[i] do begin street:=stt; write('street '); readln(street); write('# doma '); readln(dom); write('# kvartiri '); readln(kv); write('kol-vo zilcov '); readln(zilci); end; end; Procedure poisk(nt:byte;mt:mas_adres); var i:byte; st,st1:string; begin write('fileadres'); readln(st1); assign(f1,st1); rewrite(f1); v:=true; writeln('st'); readln(st); for i:=1to 2 do if mt[i].street=st then if v then begin writeln('kolvo zilcov'); with mt[i] do writeln(zilci:4); v:=false; end else with mt[i] do writeln(zilci:10); close(f1); end; {for i:=1 to 2 do with zt do begin readln(street); readln(dom); readln(kv); for i:=1 to 2 do if ((zt.street=m[i].street) and (zt.dom=m[i].dom)) and (zt.kv=m[i].kv) then begin write('Kol-vo zilcov: '); write(m[i].zilci); writeln; v:=true; end; if v=false then writeln('takogo adresa ne naideno') end; end;} begin clrscr; writeln('viberite 1,2,3,4,5 '); readln(t); case t of 1:begin write('file street'); readln(st); assign(f,st); rewrite(f); p:=0; repeat writeln('street or enter'); readln(sp); if sp<>'' then begin p:=p+1; vvod(m[p],sp); write(f,m[p]); end; until sp=''; close(f); end; 2:begin repeat writeln('filestreet or enter'); readln(st); if st<>'' then begin assign(f,st); {$I-} reset(f); k:=ioresult; if k<>0 then writeln('error'); {$I-} end; until (st='') or (k=0); p:=0; while not eof (f) do begin p:=p+1; read(f,m[p]); end; close(f); end; 3:begin clrscr; assign(f,st); reset(f); write('--------------------------------------------------'); writeln; write('| street | #doma | #kv | kol-vo zilcov |'); for i:=1 to 2 do with m[i] do begin writeln; write(street:12,' '); write(dom:6, ' ' ,kv:9, ' ', zilci:8, ' '); writeln; end; write('---------------------------------------------------'); writeln; close(f); end; { 4:sort; } 5:poisk(n,m) end; {Procedure novmas(var zet:mas_adres; var zit:mas_nov); var i:integer; begin for i:=1 to 2 do begin ma[i].dom:=m[i].dom; ma[i].kv:=m[i].kv; ma[i].zilci:=m[i].zilci; end; end; Procedure novmasa(var zit:mas_nov); begin write('-------------------------------------'); writeln; write('| #doma | #kv | kol-vo zilcov |'); for i:=1 to 2 do with ma[i] do begin writeln; write(dom:6, ' ' ,kv:8, ' ', zilci:8, ' '); writeln; end; write('-------------------------------------'); writeln; end;} begin clrscr; vvod(z,st); {vivod(z);} poisk(n,m); {for i:=1 to 2 do novmas(m,ma); novmasa(ma); readln; } end; end.