Статистика
Всего в нашей базе более 4 324 243 вопросов и 6 439 506 ответов!

Даны файлы f1,f2,f3,f4,f5, компоненты которых являются вещественными числами. Организуйте обмен компонентами между файлами в соответствии со следующей

10-11 класс

схемой:

f1 f2 f3 f4 f5
↓ ↓ ↓ ↓ ↓
f3 f4 f5 f2 f1
т.е. компоненты файла f1 переписываются в файл f3, компоненты файла f2 - в f4 и т.д. Разрешается использовать только один вспомогательный файл h.

Andrey200500 13 окт. 2016 г., 2:33:37 (2 года назад)
Рейтинг
+ 0 -
0 Жалоба
+ 0 -
Lionelmessi1010
13 окт. 2016 г., 4:51:47 (2 года назад)

type
  tR = real;
  tF = file of tR;

procedure SwapFile(fn1, fn2: string);
var
  r: tR;
  fin, fout: tF;
begin
  Assign(fin, fn1); Reset(fin);
  Assign(fout, fn2); Rewrite(fout);
  while (not Eof(fin)) do begin Read(fin, r); Write(fout, r) end;
  Close(fin); Close(fout)
end;

var
  f1, f2, f3, f4, f5, fh: string;

begin
  f1 := 'f1.bin'; f2 := 'f2.bin'; f3 := 'f3.bin';
  f4 := 'f4.bin'; f5 := 'f5.bin'; fh := 'tmp.bin';
  { f2 <-> f4 }
  SwapFile(f2, fh); SwapFile(f4, f2); SwapFile(fh, f4);
  { f5->h, f3->f5, f1->f3, h->f1 }
  SwapFile(f5, fh); SwapFile(f3, f5); SwapFile(f1, f3); SwapFile(fh, f1)
end.

******************* Для тестирования ******************
Можно создать тестовые файлы с помощью следующей программы:
type
  tR = real;
  tF = file of tR;

procedure WF(fn: string; m, n: integer);
var
  fout: tF;
  i: integer;
begin
  Assign(fout, fn); Rewrite(fout);
  for i := m to n do Write(fout, i / 2);
  Close(fout)
end;

var
  f1, f2, f3, f4, f5: string;

begin
  f1 := 'f1.bin'; f2 := 'f2.bin'; f3 := 'f3.bin';
  f4 := 'f4.bin'; f5 := 'f5.bin';
  WF(f1, 3, 7); WF(f2, 11, 19); WF(f3, -6, 9); WF(f4, 0, 11); WF(f5, 14, 22);   
end.

Далее можно просмотреть содержимое созданных файлов с помощью следующей программы:
type
  tR = real;
  tF = file of tR;

procedure WF(fn: string);
var
  fin: tF;
  r: tR;
begin
  Writeln(fn);
  Assign(fin, fn); Reset(fin);
  while (not Eof(fin)) do
  begin Read(fin, r); Write(r:0:1, ' ') end;
  Writeln;
  Close(fin)
end;

var
  f1, f2, f3, f4, f5: string;

begin
  f1 := 'f1.bin'; f2 := 'f2.bin'; f3 := 'f3.bin';
  f4 := 'f4.bin'; f5 := 'f5.bin';
  WF(f1); WF(f2); WF(f3); WF(f4); WF(f5)
end.

Затем выполнить основную программу по перезаписи и снова запустить программу для просмотра обновленнных файлов.


Ответить

Другие вопросы из категории

Сформировать квадратную матрицу порядка n по заданному образцу:

n 0 0 ... 0 0 0
0 n-1 0 ... 0 0 0
0 0 n-2 ... 0 0 0
. . . ... . . .
0 0 0 ... 0 2 0
0 0 0 ... 0 0 1

C++ программирование помогите
Помогите с 11 и 12 заданиями

Читайте также

Дан файл f, компоненты которого являются целыми числами.

Найти количество квадратов нечетных чисел среди компонент файла. Записать это значение в начало нового файла g. Остальные значения переписать из исходного файла f.

Проверьте пожалуйста программу.

program f_3;
var f1, f2, f3:text;
C:integer;
G:char;
s:string;
sp:string;
begin
s:=('');
sp:=(' ');
Assign(f1, 't.txt');
Assign(f2, 't2.txt');
Assign(f3, 't3.txt');
Reset(f1);
Rewrite(f2);
Rewrite(f3);
while not eof(f1) do
begin
readln(f1,G);
C:=ord(G);
writeln(f2,inttostr(C));
end;
Reset(f2);
while not eof(f2) do
begin
readln(f2,C);
G:=chr(C);
writeln(f3,G);
end;
close(f1);
close(f2);
close(f3);
end.


Точка задана своими координатами. Определить, принадлежит ли точка заданной области (включая границу). Формат входных данных Во входном файле записаны два

вещественных числа - координаты точки . Формат выходных данных В выходной файл необходимо вывести или в зависимости от ответа на вопрос задачи.

Примеры: Вход -3 2 Выход Yes



Вы находитесь на странице вопроса "Даны файлы f1,f2,f3,f4,f5, компоненты которых являются вещественными числами. Организуйте обмен компонентами между файлами в соответствии со следующей", категории "информатика". Данный вопрос относится к разделу "10-11" классов. Здесь вы сможете получить ответ, а также обсудить вопрос с посетителями сайта. Автоматический умный поиск поможет найти похожие вопросы в категории "информатика". Если ваш вопрос отличается или ответы не подходят, вы можете задать новый вопрос, воспользовавшись кнопкой в верхней части сайта.