Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ задача с файлами

Автор: Светлана 22.12.2006 4:12

Здравствуйте! Помогите пож-та доделать задачку.... "Записать в файл последовательного доступа N действительных чисел. Найти разность разность первой и последней компонент файла".

Вот вариант...

 
Program FAIL14;
const n=20;
var f:text;
a:array[1..n] of real;
i:integer;
begin
assign(f,'a:\numbers.txt');
rewrite(f);
begin
writeln(n);
for i:=1 to n do begin
writeln('vvedite elementy:');
readln(a[i]);
Procedure Raznost(a,b:real;var K:real);
begin
for i:=1 to n do
K:=a[1]-a[i];
end;
writeln(K[i]);
readln(K[i]);
end.


помогите пож-та....

Автор: мисс_граффити 22.12.2006 4:24

так?

Program FAIL14;
const n=5;
var f:text;
a1,an: real;
i:integer;
s:string;
begin
assign(f,'numbers.txt');
rewrite(f);
writeln(n);
for i:=1 to n do
begin
writeln('vvedite elementy:');
readln(a1);
str(a1,s);
writeln(f,s);
end;
close(f);
reset(f);
readln(f,s);
val(s,a1,i);
for i:=1 to n-1 do
readln(f,s);
close(f);
val(s,an,i);
writeln(an-a1:5:2);
readln;
end.


Автор: Светлана 22.12.2006 4:31

ага, прога работает! Даж и массив не понадобился!!!! СПАСИБО ВАМ ОГРОМНОЕ!!!!!!!! И, отойдя от темы программирования, хочу поздравить с наступающим Новым Годом!

Автор: Светлана 23.12.2006 3:29

Извините... У меня вот вопрос... А как тут сделать, чтобы самой эти числа не вводить, то есть надо randomize использовать? И как-то сделать так, чтобы в файл выводилась эта разница...

Автор: мисс_граффити 23.12.2006 3:57

 ...
randomize;
for i:=1 to n do
writeln(f,random(10));


в какой файл ты хочешь выводить? в новый или в конец старого?

Автор: Светлана 23.12.2006 12:35

Цитата(мисс_граффити @ 22.12.2006 23:57) *

в какой файл ты хочешь выводить? в новый или в конец старого?


Спасибо!!! Желательно выводить в новый файл.... unsure.gif

Автор: мисс_граффити 23.12.2006 15:05

 writeln(an-a1:5:2);

Вот вместо этого надо сделать:
  assign(g,'fail2.txt');
rewrite(g);
writeln(g,an-a1:5:2);{можешь задать другую точность - на свое усмотрение}
close(g);

И не забудь объявить файловую переменную g.