Помощь - Поиск - Пользователи - Календарь
Полная версия: файл
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
KATYSHA
Препод всё-таки поменял задание,я решила создать новую тему,а то там лепить как-то некрасиво. smile.gif Задание такое: дан файл вещественных чисел.заменить в нём все отрицательные элементы значением минимальной компоненты файла.Прошу помощи в решении,помогите give_rose.gif
GoodWind
1. перебираем файл в поисках минимаоьного элемента
Код
{....}
var f,a:file of real;
     f_min,f_tmp:real;
{.....}
f_min:=-2.9e-39;
reset(f);
while not eof(f) do
begin
  read(f,f_tmp);
  if t_tmp<f_min then f_min:=f_tmp;
end;

2. теперь перебираем файл еще раз, заменяя отрицательные элементы минимальным
Код
reset(f);
rewrite(a);
while not eof(f) do
begin
  read(f,f_tmp);
  if f_tmp<0 then f_tmp:=f_min;
  write(a,f_tmp);
end;


все
KATYSHA
Напиши пожалуйста по-подробнее,я не поняла.Как я дописала её,она не работает.:-( give_rose.gif
GoodWind
так:
uses crt;
const FILE_NAME='c:\inFile.dat';
TMP_FILE_NAME='c:\tmp.dat';
var f,a:file of real;
f_min,f_tmp:real;
begin
f_min:=-2.9e-39;
assign(f,FILE_NAME);
reset(f);
while not eof(f) do
begin
read(f,f_tmp);
if t_tmp<f_min then f_min:=f_tmp;
end;

assign(a,TMP_FILE_NAME);
rewrite(a);
reset(f);
while not eof(f) do
begin
read(f,f_tmp);
if f_tmp<0 then f_tmp:=f_min;
write(a,f_tmp);
end;

close(f);
erase(f);
rename(a,FILE_NAME);
close(a);
end.


что-то может не работать - негде было отладить, писАл прям на форуме unsure.gif
KATYSHA
Цитата(GoodWind @ 14.12.2005 20:39) *

так:
uses crt;
const FILE_NAME='c:\inFile.dat';
TMP_FILE_NAME='c:\tmp.dat';
var f,a:file of real;
f_min,f_tmp:real;
begin
f_min:=-2.9e-39;
assign(f,FILE_NAME);
reset(f);
while not eof(f) do
begin
read(f,f_tmp);
if t_tmp<f_min then f_min:=f_tmp;
end;

assign(a,TMP_FILE_NAME);
rewrite(a);
reset(f);
while not eof(f) do
begin
read(f,f_tmp);
if f_tmp<0 then f_tmp:=f_min;
write(a,f_tmp);
end;

close(f);
erase(f);
rename(a,FILE_NAME);
close(a);
end.


что-то может не работать - негде было отладить, писАл прям на форуме unsure.gif



give_rose.gif спасибо огромное!!!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.