program u413d;
{this program will read in a list of cities, each city followed by
a temperature in degrees Farenheit
The list will be sorted by city

It will print out a nice report of cities, their temperatures in
degrees Farenheit and Centigrade

However, we will print the average of each city}

var city,oldcity:string;
temperatureF:real;
AverageF,AverageC,temperatureC:real;
SumCity:real;
CountCity:real;
linecount:integer;
input_file,report:text;
begin

assign(input_file,'u413d.txt');
reset(input_file);

assign(report,'u413d.out');
rewrite(report);

linecount:=51;
readln(input_file,city);
read(input_file,temperatureF);
oldcity:='';
SumCity:=0;
CountCity:=0;
while(city<>'') do begin
if linecount=51 then begin {new page}
write(report,chr(12));
write(report,'city':20,'':5,'Temperature (degrees F)':30,'':5,
'Temperature (degrees C)':30);
writeln(report);
write(report,'____':20,'':5,'_______________________':30,'':5,
'_______________________':30);
writeln(report);
linecount:=0;
end;
TemperatureC:=5.0/9.0*(TemperatureF-32);
write(report,city:20,'':5,TemperatureF:30:1,'':5,TemperatureC:30:1);
writeln(report);
readln(input_file);
SumCity:=SumCity+TemperatureF;
CountCity:=CountCity+1;
oldcity:=city;
read(input_file,city);
read(input_file,TemperatureF);
if oldcity<>city then begin
AverageF:=SumCity/CountCity;
AverageC:=5.0/9.0*(AverageF-32);
write(report,'AVERAGE':20,'':5,AverageF:30:1,'':5,AverageC:30:1);
writeln(report); {extra blank line for separation}
writeln(report);
SumCity:=0;
CountCity:=0;
end;
linecount:=linecount+1;
end;
close(report);

end.