IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Задача на файлы
Sky
сообщение 13.01.2006 23:33
Сообщение #1





Группа: Пользователи
Сообщений: 1
Пол: Мужской

Репутация: -  0  +


Пожалуйста gомогите дорешать задачку:
Создать файл вещественных чисел. Создать новый файл так, чтобы элементы первого файла были переставлены следующим образом
было: 1 2 3 4 5 6 7 8 9 10 11 12
стало: 9 10 11 12 5 6 7 8 1 2 3 4
Начал делать, но застрял на перестановке sad.gif

Код
Program files;
Uses crt;
Const
  n=12;
Var f,f1: file of real;
     b: array[1..n] of real;
     c,c1: string;
     i: byte;
begin
writeln('nazvanie ishodnogo faila ');
readln(c);
   assign(f,c);
   rewrite(f);
writeln('nazvanie vtorogo faila ');
readln(c1);
   assign(f1,c1);
   rewrite(f1);
for i:=1 to n do
   begin
    readln(b[i]);
    write(f,b[i]);
   end;
Reset(f);


readln;
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Pola
сообщение 13.01.2006 23:37
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 38
Пол: Женский

Репутация: -  0  +


перед reset (f);
close(f); не хватает?

а элементов всегда 12? или просто кратно 4?

если кратно
Код
for i:=n div 4 downto 1 do
  for j:=-3 to 0 do
     writeln(f1,b[i*4+j]);


Сообщение отредактировано: Pola - 13.01.2006 23:44
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 13.01.2006 23:54
Сообщение #3


Гость






Что-то вот такое:
const
n = 12;
every = 4;

var
i, j: integer;
X: real;

f_in, f_out: file of real;

begin
assign(f_in, 'f_in01.dat');
rewrite(f_in);
for i := 1 to n do write(f_in, i);
reset(f_in);

assign(f_out, 'f_out01.dat');
rewrite(f_out);

for i := (filesize(f_in) div every) - 1 downto 0 do begin
seek(f_in, i*every);
for j := 1 to every do begin
read(f_in, X);
write(f_out, X);
end;
end;

close(f_out);
close(f_in);

writeln('Проверка:');
reset(f_out);
while not eof(f_out) do begin
read(f_out, X);
write(X:4:0);
end;
close(f_out);

end.

Имена файлов задавал в константах, переделай как нужно...

Pola,
Цитата
перед reset (f);
close(f); не хватает?
Внимательно читай стандарт языка, прежде чем что-то ответить. Reset автоматически делает Flush + Close, и только потом переоткрывает файл...

Кроме того, в задании не разрешалось использовать массивы...
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 21.06.2025 21:08
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"