0 / 0 / 0
Регистрация: 29.12.2014
Сообщений: 15
1

Переписать в файл G все компоненты файла F, меняя местами соседние элементы

22.03.2015, 13:57. Показов 1254. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, помогите пожалуйста решить данную задачу.


Дан файл F, компонентами которого являются действительные числа. Переписать в файл G все компоненты файла F, меняя местами соседние элементы (первый со вторым, третий с четвертым и т.д.)


Знаю, как переписать из одного файла в другой, но не понимаю, как поменять местами соседние элементы.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.03.2015, 13:57
Ответы с готовыми решениями:

Задан файл F, все компоненты которого – целые числа. Переписать в файл G компоненты файла F
Задан файл F, все компоненты которого – целые числа. Переписать в файл G компоненты файла F,...

Переписать в новый файл все компоненты файла, расположенные после максимальной компоненты
Дан файл вещественных чисел. Переписать в новый файл все компоненты, расположенные после...

Текстовый файл: переписать в файл g все компоненты файла f, изымая все цифры
Даны текстовый файл f. Переписать в файл g все компоненты файла f, изымая все цифры.

Типизированный файл: переписать в файл g все компоненты файла f, изымая все цифры
Даны текстовый файл f. Переписать в файл g все компоненты файла f, изымая все цифры.

2
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
22.03.2015, 15:02 2
Лучший ответ Сообщение было отмечено Gagushman как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
var f,g:file of real;
    n,i:integer;
    a,b:real;
begin
randomize;
assign(f,'fileF');
rewrite(f);
assign(g,'fileG');
rewrite(g);
repeat
write('Сколько чисел записать в файл F от 2 до 100 n=');
readln(n);
until n in [2..100];
for i:=1 to n do
 begin
  a:=9*random;
  write(f,a);
 end;
writeln('Содержание исходного файла:');
reset(f);
while not eof(f) do
 begin
  read(f,a);
  write(a:5:2);
 end;
writeln;
i:=1;
while i<filesize(f) do
 begin
  seek(f,i);
  read(f,a);
  seek(f,i-1);
  read(f,b);
  seek(g,i);
  write(g,b);
  seek(g,i-1);
  write(g,a);
  i:=i+2
 end;
if odd(filesize(f))then{если нечетное число компонет}
 begin
  seek(f,filesize(f)-1);{допишем последнюю}
  read(f,a);
  seek(g,filesize(g));
  write(g,a);
 end;
close(f);
writeln('Содержание полученного файла:');
reset(g);
while not eof(g) do
 begin
  read(g,a);
  write(a:5:2);
 end;
close(g);
end.
0
2509 / 1130 / 582
Регистрация: 07.06.2014
Сообщений: 3,286
22.03.2015, 15:19 3
простите, но мне кажется, что так проще:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
i:=1;
while i<filesize(f) do {важно - именно МЕНЬШЕ, а не меньше-равно!}
 begin
   Read(f, a1);
   Read(f, a2);
   Write(g,a2);
   Write(g,a1);
   inc(i,2);
 end;
 if odd(FileSize(f)) then begin {если файл имеет нечётное число элементов,
                                         то последний элемент просто скопируем}
   Read(f, a1);
   Write(g,a1);
 end;
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.03.2015, 15:19
Помогаю со студенческими работами здесь

Дан текстовый файл f. Переписать компоненты файла f в файл g, заменив все пробелы символом '!'
Правильно ли я написала саму программу? и вообще, оно правда будет переписано в новый файл??? ...

Дан текстовый файл F. Переписать в файл Q все компоненты файла F с заменой в них символа 0 на 1 и наоборот
Дан текстовый файл F. Переписать в файл Q все компоненты файла F с заменой в них символа 0 на 1 и...

Переписать все компоненты файла f в файл g, в обратном порядке
Задача стоит так..нужно создать символьный файл f переписать все компоненты файла f в файл g,в...

Переписать все положительные компоненты файла в другой файл
1)Создать файл А с вещественными компонентами. Все положительные компоненты файла А в файл В.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru