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:file of strani; f1:file of plotnost; begin clrscr; assign(f,'strani.dat'); rewrite(f); writeln('Введите число записей');readln(k); for i:=1 to k do begin with a do begin 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); while not eof(f) do begin read(f,a); for i:=1 to k-1 do begin 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); while not eof(f1) do begin read(f1,b); with b do writeln(naz:4,sq:15,nas:10,pl:16:2); end; close(f1); readln; end.