Помощь - Поиск - Пользователи - Календарь
Полная версия: задача с файлами
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Светлана
Здравствуйте! Помогите пож-та доделать задачку.... "Записать в файл последовательного доступа 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.


помогите пож-та....
мисс_граффити
так?
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.

Светлана
ага, прога работает! Даж и массив не понадобился!!!! СПАСИБО ВАМ ОГРОМНОЕ!!!!!!!! И, отойдя от темы программирования, хочу поздравить с наступающим Новым Годом!
Светлана
Извините... У меня вот вопрос... А как тут сделать, чтобы самой эти числа не вводить, то есть надо randomize использовать? И как-то сделать так, чтобы в файл выводилась эта разница...
мисс_граффити
 ...
randomize;
for i:=1 to n do
writeln(f,random(10));


в какой файл ты хочешь выводить? в новый или в конец старого?
Светлана
Цитата(мисс_граффити @ 22.12.2006 23:57) *

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


Спасибо!!! Желательно выводить в новый файл.... unsure.gif
мисс_граффити
 writeln(an-a1:5:2);

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

И не забудь объявить файловую переменную g.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.