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

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

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

 
 Ответить  Открыть новую тему 
> Задача на файлы
сообщение
Сообщение #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 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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 -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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

 





- Текстовая версия 4.05.2024 5:27
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name