Использовал оперативную память
Псевдокод:
N - номер квартиры
iTop = N div 4;
if(N mod 4 > 0) iTop++;
Npd = (iTop-1) div 9 + 1; // Подъезд
Net = (iTop-1) mod 9 + 1; // Этаж
Где только находят такие задачи О_о ну вот :)
uses crt;
type auto=record
nom:string;
sht:integer;
end;
var f,g:text;
a:array[1..100] of auto;
s,s1:string;
n,k,i,j,c,p,r:integer;
x:auto;
begin
clrscr;
assign(f,'input.txt');
reset(f);
assign(g,'output.txt');
rewrite(g);
read(f,n);
readln(f,s);
readln(f,s);
k:=1;
a[k].nom:=copy(s,1,8);
delete(s,1,9);
val(s,a[k].sht,c);
for i:=2 to n do
begin
readln(f,s);
s1:=copy(s,1,8);
delete(s,1,9);
val(s,r,c);
p:=0;
j:=1;
while(j<=k) and(p=0) do
if s1=a[j].nom then
begin
p:=j;
a[p].sht:=a[p].sht+r
end
else j:=j+1;
if p=0 then
begin
k:=k+1;
a[k].nom:=s1;
a[k].sht:=r;
end;
end;
close(f);
for i:=1 to k-1 do
for j:=i+1 to k do
if a[i].sht<a[j].sht then
begin
x:=a[i];
a[i]:=a[j];
a[j]:=x;
end;
for i:=1 to k do
begin
writeln(g,a[i].nom,' ',a[i].sht);
writeln(a[i].nom,' ',a[i].sht);
end;
close(g);
end<span>.</span>
Может быть это? <span>pascal: </span>
<span>var a: array [1..20] of integer; </span>
<span>i, k: integer; </span>
<span>s: real; </span>
<span>begin </span>
<span>// заполняем массив c клавиатуры </span>
<span>for i:=1 to 20 do </span>
<span>readln(ar); </span>
<span>//считаем среднеариф-е </span>
<span>s := 0; </span>
<span>k := 0; </span>
<span>for i:=1 to 20 do </span>
<span>if a >=0 then begin </span>
<span>s := s + a; </span>
<span>k := k + 1; </span>
<span>end; </span>
<span>writeln('среднее: ', s/k); </span>
<span>end.</span>