Задача на Пскале на тему файлы - Форум
Пятница, 09.12.2016, 06:49
Задачи по информатике
Главная | Регистрация | Вход Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: ignorer, PASCAL26, atvrider 
Форум » Решение задач по информатике » Другие задания » Задача на Пскале на тему файлы
Задача на Пскале на тему файлы
BlastikДата: Воскресенье, 13.03.2011, 14:04 | Сообщение # 1
Рядовой
Группа: Новичок
Сообщений: 1
[ 0 ]
Статус: Offline
Помогите разобратся что не так.Задача:ввести файл вещественных компонент,найти максимальную компоненту,найти среднее арифметическое всех элементов расположенных левее максимума,затем все элементы расположенные правее максимума увелечить на полученное среднее арифметическое и просуммировать,а затем заменить максимум полученной суммой.Вот мой вариант проги:
Program V14;
uses crt;
var f:file of real;
i:integer;
buf,S,Max,Imax,k,SrA,M:real;
begin
assign (f, 'f.dat');
writeln('введите первую компоненту файла f (признак конца ввода: "555")');
rewrite (F);
readln(buf);
i:=1;
while buf<>555 do
begin
write(f,buf);
inc(i);
writeln('введите ',i,'-ую компоненту файла f');
readln(buf);
end;
reset(f);
writeln ('файл f до изменения:');
while not EOF(f) do
begin
read(f,buf);
write(buf:7:1);
end;
writeln;
seek(F,0);
read(f,buf);
Imax:=0;
Max:=buf;
i:=0;
while not EOF(f) do
begin
read(f,buf);
if buf>max then
begin
max:=buf;
imax:=i
end;i:=i+1; end;

k:=0;
i:=0;
S:=0;
reset(F);
while not EOF(F) do
begin
read(f,buf);
if i<imax then
begin k:=k+1; S:=S+buf;

end;i:=i+1; end;
if k<imax then
begin
SrA:=S/k;
seek(F,0);
M:=0;
while not EOF(F) do
begin
read (f,buf);
if i>imax then
begin
seek(F,filepos(F)-1);
buf:=buf+SrA;
write(F,buf);
M:=M+buf;
end
else writeln('в файле нет элементов левее максимума')
end ;end;
while not EOf(F) do
begin
read(f,buf);
MAx:=M;
end;
seek(F,0);
while not EOF(F) do
begin
read(F,buf);
write(buf:7:1);
end;
close(f);
end.
Проблема в том что файл после преобразования ничем не отличается от заданного.ТО есть программа не работает... cry

 
KOT_B_MEIIIKEДата: Воскресенье, 13.03.2011, 18:48 | Сообщение # 2
Генералиссимус
Группа: Модераторы
Сообщений: 284
[ 36 ]
Статус: Offline
эээ... по-моему чтоб записывать в файл, надо rewrite(f) написать... Только это очищает весь файл сначала. Есть ещё Append(f) - добавить символы в конец.
 
Форум » Решение задач по информатике » Другие задания » Задача на Пскале на тему файлы
Страница 1 из 11
Поиск:

Copyright MyCorp © 2016