НАРУШИТЕЛЬ
641 / 356 / 2
Регистрация: 10.11.2011
Сообщений: 1,749
Записей в блоге: 5
1

Сформировать новый текстовый файл, записав в него числа из заданного файла в обратном порядке

10.11.2011, 20:51. Показов 2856. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите пожалуйста решить задачу, у меня очень плохо с файлами, и я не знаю как решить эту задачу.
Если можно решение задачи с комментариями.

Дан текстовый файл, содержащий действительные числа. Сформировать новый текстовый файл, записав в него числа из заданного файла в обратном порядке следования.

Подскажите пожалуйста что у меня работает неверно и как будет правильно, вот моя программка:
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
var f,g:file of char;
c:char;
i:integer;
begin
assignfile(f,'D:\input.txt');
rewrite(f);
assignfile(g,'D:\output.txt');
rewrite(g);
writeln('Vvedite chisla, Okonchanie vvoda chislo 0:');
repeat
readln(c);
write(f,c);
until c='0';
writeln('Text F:');
reset(f);
while not eof(f) do
begin
read(f,c);
write(c,' ');
end;
writeln;
closefile(f);
reset(f);
for i:=filesize(f)-1 downto 0 do
begin
seek(f,i);
read(f,c);
write(g,c);
end;
closefile(f);
writeln('Text G:');
reset(g);
while not eof(g) do
begin
read(g,c);
write(c,' ');
end;
closefile(g);
readln
end.
ОН не записывает файлы в выходной в обратном порядке, помогите пожалуйста.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.11.2011, 20:51
Ответы с готовыми решениями:

Создать новый текстовый файл, записав в него перевернутые строки исходного файла
дан текстовый файл.создать новый текстовый файл,записав в него перевернутые строки исходного файла:...

Создать новый текстовый файл, записав в него те строки исходного файла, которые начинаются с k идущих подряд символов m
Дан текстовый файл. Создать новый текстовый файл, записав в него те строки исходного файла, которые...

Создать новый текстовый файл, переписав в него все буквы в обратном порядке
Дан текстовый файл, содержащий буквы латинского алфавита, записанные без пробелов. Создать новый...

Сформировать массив В, записав в него элементы массива А в обратном порядке
Дан массив А состоящий с действителтных чисел. Сформировать В, записав в него элементы массива А в...

13
2857 / 1986 / 788
Регистрация: 23.09.2010
Сообщений: 4,877
10.11.2011, 21:08 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

 Комментарий модератора 
Называйте темы информативно

Проверяйте:
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
Uses CRT;
var f,g:file of real;
    c:real;
    i:integer;
begin
assign(f,'D:\input.txt');
rewrite(f);
assign(g,'D:\output.txt');
write('Vvedite chisla, Okonchanie vvoda chislo 0:');
repeat
 readln(c);
 write(f,c);
until c=0;
Close(f);
writeln('Text F:');
reset(f);
rewrite(g);
for i:=(filesize(f)-1) downto 0 do
begin
 seek(f,(filesize(f)-1)-i);
 read(f,c);
 write(c:0:4,' ');
 seek(f,i);
 read(f,c);
 write(g,c);
end;
close(f);
Close(g);
writeln;
writeln('Text G:');
reset(g);
while not eof(g) do
begin
 read(g,c);
 write(c:0:4,' ');
end;
close(g);
readln
end.
zoternik так с текстовым надо или с типизированным?
0
НАРУШИТЕЛЬ
641 / 356 / 2
Регистрация: 10.11.2011
Сообщений: 1,749
Записей в блоге: 5
10.11.2011, 21:13  [ТС] 3
спасибо, только вывод чуть-чуть подпрваить надо!!!!

Добавлено через 50 секунд
С текстовым, типизированные мы не изучали
0
2857 / 1986 / 788
Регистрация: 23.09.2010
Сообщений: 4,877
10.11.2011, 21:14 4
так у тебя с типизированным сделано было.
0
НАРУШИТЕЛЬ
641 / 356 / 2
Регистрация: 10.11.2011
Сообщений: 1,749
Записей в блоге: 5
10.11.2011, 21:16  [ТС] 5
Блин, а как правильно, с массивом что ли? Помогите пожалуйста!!!
0
2857 / 1986 / 788
Регистрация: 23.09.2010
Сообщений: 4,877
10.11.2011, 21:18 6
да первое что пришло на ум считать в массив числа.
downto и запись в этот же файл массива.Пробуйте.
0
НАРУШИТЕЛЬ
641 / 356 / 2
Регистрация: 10.11.2011
Сообщений: 1,749
Записей в блоге: 5
10.11.2011, 21:21  [ТС] 7
Что-то у меня не так, он в файлы каракули у меня пишет!!! Как же эту задачку сделать? Вот незадача!!Черт побери.
0
2857 / 1986 / 788
Регистрация: 23.09.2010
Сообщений: 4,877
10.11.2011, 21:22 8
Прочитайте про типизированные файлы.Их можно просмотреть только программно.
0
НАРУШИТЕЛЬ
641 / 356 / 2
Регистрация: 10.11.2011
Сообщений: 1,749
Записей в блоге: 5
10.11.2011, 21:25  [ТС] 9
Мда, что-то какие-то тучи надо мной плывут, но моя программка писала числа и правильно отображала а щас каракули вот шутка-то а? Но как эту задачу решить правильно, чтоб было 2 файла, и данные в них правильно отображались?
0
2857 / 1986 / 788
Регистрация: 23.09.2010
Сообщений: 4,877
10.11.2011, 21:28 10
var f,g:file of char;
у тебя задание на текстовые файлы,даже если было бы на типизированные то у тебя было бы не верное решение потому что ты создавал символьный файл,c-это один символ к тому же.
0
НАРУШИТЕЛЬ
641 / 356 / 2
Регистрация: 10.11.2011
Сообщений: 1,749
Записей в блоге: 5
10.11.2011, 21:29  [ТС] 11
Мда по-ходу дела ничего не понимаю, да он у меня писал и выводил, но только 1 значения, а как по-другому решить эту задачу?
0
2857 / 1986 / 788
Регистрация: 23.09.2010
Сообщений: 4,877
10.11.2011, 21:31 12
прочитать про текстовые файлы для начала.Говорю же через массив можно.Считываеш из текстового в массив,и записываешь с последнего элемента в файл.
0
НАРУШИТЕЛЬ
641 / 356 / 2
Регистрация: 10.11.2011
Сообщений: 1,749
Записей в блоге: 5
10.11.2011, 21:33  [ТС] 13
Попробую, если не получится заново кину, может поможете.
0
2857 / 1986 / 788
Регистрация: 23.09.2010
Сообщений: 4,877
10.11.2011, 21:38 14
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

помогу.Пробуй сделать.
Вот если надо.Думаю так и не дождусь ваших попыток:
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
Uses CRT;
var f,g:text;
    c:real;
    a:array[1..200] of real;
    i,n:integer;
begin
assign(f,'D:\input.txt');
rewrite(f);
assign(g,'D:\output.txt');
rewrite(g);
write('Vvedite chisla, Okonchanie vvoda chislo 0:');
repeat
 readln(c);
 write(f,' ',c);
until c=0;
Close(f);
writeln('Text F:');
reset(f);
n:=0;
while not eof(f) do
begin
 read(f,c);
 inc(n);
 a[n]:=c;
 write(c:0:3,' ');
end;
close(f);
for i:=n downto 1 do
 write(g,' ',a[i]);
Close(g);
writeln;
writeln('Text G:');
reset(g);
while not eof(g) do
begin
 read(g,c);
 write(c:0:3,' ');
end;
close(g);
readln
end.
0
10.11.2011, 21:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.11.2011, 21:38
Помогаю со студенческими работами здесь

Получить новый двоичный файл, записав в него все четные числа из первого файла
Даны два двоичных файла с числами. Получить новый файл, записав в него сначала все четные числа из...

Создать текстовый файл G и записать в него строки из файла F в обратном порядке
1. Создать текстовый файл F и записать в него несколько строк. Создать текстовый файл G и записать...

Сформировать текстовый файл, записав в него 20 случайных чисел
1.Сформировать текстовый файл, записав в него 20 случайных чисел от –10 до +10, по одному на строке...

Файл: Из данных файла сформировать массив, записав в него числа, расположенные до max и после min элемента
Создать типизированный файл, куда записать n целых чисел. Из исходного файла сформировать массив,...

Сформировать текстовый файл f 2, содержащий все числа в обратном порядке
В текстовом файле f1 записана последовательность чисел. Сформировать текстовый файл f 2, содержащий...

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


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

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

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