1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... 2. Все тексты программ должны помещаться в теги [code=pas] ... [/code]. 3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора). 5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM! 6. Одна тема - один вопрос (задача) 7.Проверяйте программы перед тем, как разместить их на форуме!!! 8.Спрашивайте и отвечайте четко и по существу!!!
Ребята!!! Требуется помощь!!!! Программу я написал, но в ней есть ошибка(не могу сообразить, как ее исправить). Требуется создать типизированный файл записи, содержащий базу: название страны, ее площадь, число населения. Базу создал, записал в файл 'strani.dat'. Теперь требуется создать новый файл записи из исходного файла - только теперь добавляется новое поле - плотность население(то бишь число население, деленное на площадь страны). Надо скопировать поля в этот новый файл - вот тут и загвоздка - я уверен, что ошибка в тексте,выделенном курсивом. Поделитесь мыслями, нужно срочно доделать.
uses crt;
type
strani=record
naz:string[20];
sq:integer;
nas:integer;
end;
plotnost=record
naz:string[20];
sq:integer;
nas:integer;
pl:real;
end;
var
i,j,k:integer;
a:strani;
b:plotnost;
f:fileof strani;
f1:fileof plotnost;
begin
clrscr;
assign(f,'strani.dat');
rewrite(f);
writeln('Введите число записей');readln(k);
for i:=1to k dobeginwith a dobegin
writeln('Название страны ');readln(naz);
writeln('Площадь ');readln(sq);
writeln('Число населения ');readln(nas);
write(f,a);
end;
end;
close(f);
assign(f1,'plotnost.dat');
rewrite(f1);
reset(f);
seek(f,0);
whilenot eof(f) dobeginread(f,a);
for i:=1to k-1dobegin
b.naz:=a.naz;
b.sq:=a.sq;
b.nas:=a.nas;
b.pl:=(a.nas)/(a.sq);
write(f1,b);
end;end;
close(f1);
close(f);
reset(f1);
writeln('Новый файл содержит:');
seek(f1,0);
writeln('СТРАНА','ПЛОЩАДЬ':16,'НАСЕЛЕНИЕ':8,'ПЛОТНОСТЬ':18);
whilenot eof(f1) dobeginread(f1,b);
with b do
writeln(naz:4,sq:15,nas:10,pl:16:2);
end;
close(f1);
readln;
end.