Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.01.2018, 17:37   #1
kami_sa
Новичок
Джуниор
 
Регистрация: 12.01.2018
Сообщений: 4
По умолчанию Работа с типизированным файлом

Дан файл F, компоненты которого являются действительными числами. Найти: наименьшее из значений компонент файла с четными номерами. Записать это значение N раз в конец файла
Написала программу, но есть одно НО: не получается записать это минимальное число в конц файла т.к. rewrite - открытие файла для записи с удалением всей информации, внесенной ранее. Тогда как можно сохранить данные и вписать в тот же файл нужное значение?

var
f1: file of real;
arr: array of real;
l: integer; {количество чисел в файле}
procedure InputOfTF (var f: file of real);
var
k: integer;
m: real;
begin
rewrite (f);
for var i:= 1 to random(20) do
begin
m:=random(100,130)/100;
write (f, m);
end;
close (f);
end;

procedure OutputOfTF (f: file of real);
var
m: real;
begin
reset (f);
while not eof(f) do
begin
read (f, m);
write (m,' ');
end;
close (f);
end;

function count (f: file of real): integer;
var
m: real;

begin
result:=0;
reset (f);
while not eof (f) do
begin
read (f,m);
inc (result);
end;
end;


procedure minimal (f: file of real);
var
m, min: real;
x: integer;
begin
min:=100;
reset(f);
while not eof (f) do
begin
read (f,m);
if (m<min) and (not odd(filepos(f))) then min:=m;
end;
writeln;
writeln ('Минимальный элемент, стоящий на четном месте: ',min);
close (f);
writeln ('Сколько раз вписать это значение в конец файла?');
readln (x);
rewrite (f);
for var i:= 1 to x do
write (f, min);
close (f);
end;

begin
assign (f1, 'числа1.txt');
InputOfTF(f1);
OutputOFTF(f1);
writeln;
l:=count(f1);
writeln ('Количество чисел в файле: ',l);
minimal (f1);
outputoftf (f1);
end.
kami_sa вне форума Ответить с цитированием
Старый 14.01.2018, 17:49   #2
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,656
По умолчанию

Цитата:
rewrite - открытие файла для записи с удалением всей информации, внесенной ранее. Тогда как можно сохранить данные и вписать в тот же файл нужное значение?
reset(), seek().
А ещё лучше - TFileStream.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 14.01.2018, 17:49   #3
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Append решает вопросы
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 14.01.2018, 17:51   #4
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,656
По умолчанию

Цитата:
Сообщение от Aleksandr H. Посмотреть сообщение
Append решает вопросы
не решает.

Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...

Последний раз редактировалось min@y™; 14.01.2018 в 17:55.
min@y™ вне форума Ответить с цитированием
Старый 14.01.2018, 18:04   #5
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

да, не решает. беда
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 14.01.2018, 18:07   #6
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,656
По умолчанию

Цитата:
Сообщение от Aleksandr H. Посмотреть сообщение
да, не решает. беда
пичяль бида огорченье
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...

Последний раз редактировалось min@y™; 14.01.2018 в 18:09.
min@y™ вне форума Ответить с цитированием
Старый 14.01.2018, 18:14   #7
kami_sa
Новичок
Джуниор
 
Регистрация: 12.01.2018
Сообщений: 4
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
reset(), seek().
А ещё лучше - TFileStream.
если я правильно понимаю, то reset открывает файл для чтения, ничего нового я туда не впишу, seek - устанавливает указатель на нужную позицию, толку от него? если после rewrite'a уже все удалится? или нет?
А что такое TFileStream? В справке ничего такого нет (пользуюсь PascalABC.NET)
kami_sa вне форума Ответить с цитированием
Старый 14.01.2018, 18:47   #8
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,656
По умолчанию

Цитата:
Сообщение от kami_sa Посмотреть сообщение
если я правильно понимаю, то reset открывает файл для чтения, ничего нового я туда не впишу, seek - устанавливает указатель на нужную позицию, толку от него? если после rewrite'a уже все удалится? или нет?
А что такое TFileStream? В справке ничего такого нет (пользуюсь PascalABC.NET)
Не смотря на то, что я твой паскаль-абц.нет в глаза не видел, мне хватило 30 секунд, чтобы найти ответы на его сайте. У тебя там другой интернет, штоли? Какого хера ваще?!
А про TFileStream имеет смысл узнавать, когда выкинешь свой абц фтопку и поставишь нормальную среду разработки.
Откуда вы ваще такие берётесь с этим АБЦ? Вас там насильно, штоли, заставляют на нём писать? Пытают электрошоком или флюгегехайменом?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...

Последний раз редактировалось min@y™; 14.01.2018 в 18:52.
min@y™ вне форума Ответить с цитированием
Старый 14.01.2018, 21:02   #9
kami_sa
Новичок
Джуниор
 
Регистрация: 12.01.2018
Сообщений: 4
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
Не смотря на то, что я твой паскаль-абц.нет в глаза не видел, мне хватило 30 секунд, чтобы найти ответы на его сайте. У тебя там другой интернет, штоли? Какого хера ваще?!
А про TFileStream имеет смысл узнавать, когда выкинешь свой абц фтопку и поставишь нормальную среду разработки.
Откуда вы ваще такие берётесь с этим АБЦ? Вас там насильно, штоли, заставляют на нём писать? Пытают электрошоком или флюгегехайменом?
Мне надо было внимательнее читать про reset. Вышло. Спасибо И да, заставляют чуть ли не под угрозой смерти именно им, благо, только в первом семестре.
kami_sa вне форума Ответить с цитированием
Старый 14.01.2018, 21:08   #10
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,656
По умолчанию

Цитата:
Сообщение от kami_sa Посмотреть сообщение
И да, заставляют чуть ли не под угрозой смерти именно им, благо, только в первом семестре.
сочуйствую... держитесь там.

Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с текстовым и типизированным файлом AlexGet Помощь студентам 0 07.12.2013 13:44
работа с типизированным файлом Alena_897 Паскаль, Turbo Pascal, PascalABC.NET 6 06.01.2012 13:34
работа с типизированным файлом Julila Помощь студентам 1 25.02.2011 23:23
Работа с типизированным файлом на Паскале qwertytol Помощь студентам 0 15.06.2009 18:07