0 / 0 / 0
Регистрация: 23.03.2020
Сообщений: 216

Записать в перевернутом виде строки файла f в файл g

08.04.2020, 10:48. Показов 4018. Ответов 39
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Указания.
Исходные текстовые файлы создать в текстовом редакторе.
Дан текстовый файл f. Записать в перевернутом виде строки файла f в файл g. Порядок строк в файле g должен быть обратным по отно-шению к порядку строк файла f.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.04.2020, 10:48
Ответы с готовыми решениями:

Дан текстовый файл f. Записать в перевернутом виде строки файла f в файл g
Дан текстовый файл f. Записать в перевернутом виде строки файла f в файл g.Порядок строк в файле п должен а) совпадает с исходным порядком...

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

Переписать строки из исходного файла в новый файл в перевёрнутом виде
Дан текстовый файл t. Записать в перевернутом виде строки файла t в файл r. помогите пожайлуста)) с текстовыми файлами вообще...

39
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7818 / 4637 / 2837
Регистрация: 22.11.2013
Сообщений: 13,159
Записей в блоге: 1
19.05.2020, 23:03
Лучший ответ Сообщение было отмечено ZX Spectrum-128 как решение

Решение

Студворк — интернет-сервис помощи студентам
Pascal
36
37
38
39
    for i := Length(s) downto 1 do
      t := t + s[i];
    WriteLn(g, t);
    WriteLn(t);
Большого смысла в a[j]:=t нет.
2
Эксперт Pascal/Delphi
6812 / 4568 / 4820
Регистрация: 05.06.2014
Сообщений: 22,433
20.05.2020, 07:44
Цитата Сообщение от bormant Посмотреть сообщение
Большого смысла в a[j]:=t нет.
Это стянутый кусок из другой программы. Лень было думать.
0
0 / 0 / 0
Регистрация: 23.03.2020
Сообщений: 216
22.05.2020, 11:26  [ТС]
>>begin
>>writeln(f, 'Строка № ' + inttostr(i));
почему ругается на inttostr(i) ?
0
 Аватар для mr-Crocodile
3054 / 1673 / 657
Регистрация: 19.03.2019
Сообщений: 5,380
22.05.2020, 11:54
Цитата Сообщение от ksen___23 Посмотреть сообщение
inttostr
нет такой функции в Turbo Pascal

либо используйте Str()

либо напишите вывод так (поручите преобразование типов процедуре WriteLn):

Pascal
1
writeln(f, 'Строка № ', i);
0
0 / 0 / 0
Регистрация: 23.03.2020
Сообщений: 216
02.06.2020, 11:40  [ТС]
Как можно изменить программу, что бы она не создавала файл, а обрабатывала существующий текстовый файл? Что в коде поправить надо?

Добавлено через 29 минут
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
program laba5_text;
 
const
  MaxCountOfLines = 9;
 
var
  f, g: text;
  A: array[1..MaxCountOfLines] of string;
  j, q, i, n: integer;
  t, s: string;
 
begin
  assign(f,'in.txt'); // создание исходного файла  "создан исходный файл в блокноте с данным названием и указан прямой путь к файлу"
  rewrite(f);
  for i := 1 to MaxCountOfLines  do
  begin
    writeln(f, 'Stroka №', i);
  end;
  close(f);
  reset(f);
  i := 0;
  while not Eof(f) do
  begin
    inc(i);
    readln(f, s);
    a[i] := s;
    writeln(a[i]);
  end;
  close(f);
  assign(g,'out.txt'); //создание выходного файла
  rewrite(g);
  for j := MaxCountOfLines downto 1 do
  begin
    s := a[j];
    t := '';
    for i := Length(s) downto 1 do
      t := t + s[i];
    WriteLn(g, t);
    WriteLn(t);
  end;
  close(g);
end.
0
 Аватар для mr-Crocodile
3054 / 1673 / 657
Регистрация: 19.03.2019
Сообщений: 5,380
02.06.2020, 12:26
Цитата Сообщение от ksen___23 Посмотреть сообщение
а обрабатывала существующий текстовый файл? Что в коде поправить надо?
убрать (удалить или закомментировать) строчки с 14 по 19 включительно.
0
0 / 0 / 0
Регистрация: 23.03.2020
Сообщений: 216
02.06.2020, 12:42  [ТС]
А если сделать без ? какой вид будет?
const
MaxCountOfLines = 9;
0
 Аватар для mr-Crocodile
3054 / 1673 / 657
Регистрация: 19.03.2019
Сообщений: 5,380
02.06.2020, 13:41
Цитата Сообщение от ksen___23 Посмотреть сообщение
А если сделать без ? какой вид будет?
const
MaxCountOfLines = 9;
без чего, простите?
0
0 / 0 / 0
Регистрация: 23.03.2020
Сообщений: 216
02.06.2020, 13:54  [ТС]
Преподаватель сказал , что эта конструкция не причем в коде, учитывая то, что файл любой
0
 Аватар для mr-Crocodile
3054 / 1673 / 657
Регистрация: 19.03.2019
Сообщений: 5,380
02.06.2020, 14:11
Цитата Сообщение от ksen___23 Посмотреть сообщение
учитывая то, что файл любой
любой, говорит..
А ты спроси его, что делать, если размер файла больше размера оперативной памяти, как в этом случае поступать?
или можно рассчитывать, с учётом того, что это учебная задача и что речь идёт про Turbo Pascal (это 16-битный код под MS DOS), что файлы будет иметь какое-то ограничение на размер?

Пойми, что если я напишу код, который грузит файл в динамическую память и потом оттуда выкусывает построчно - то ты просто не поймёшь код (ты и этот вряд ли понимаешь), а твой препод резонно скажет, что программу писал кто-то другой.

Добавлено через 2 минуты
слушай. а ведь знаю, как твоему преподавателю утереть нос!!!
0
0 / 0 / 0
Регистрация: 23.03.2020
Сообщений: 216
02.06.2020, 14:16  [ТС]
Точного ответа не дает, пересылает эти же слова(
Мол малый фрагмент кода нужно переделать...
0
 Аватар для mr-Crocodile
3054 / 1673 / 657
Регистрация: 19.03.2019
Сообщений: 5,380
02.06.2020, 14:37
Цитата Сообщение от ksen___23 Посмотреть сообщение
Мол малый фрагмент кода нужно переделать...
держи код.
пусть твой препод умоется кровавыми слезами

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
program laba5_text;
 
var
  f, g: text;
  i, k, n: integer;
  s: string;
 
begin
  assign(f,'in.txt');
 
  {определим количество строк в файле}
  reset(f);
  n := 0;
  while not Eof(f) do
  begin
    readln(f, s);
    inc(n);
  end;
 
  {создадим выходной файл}
  assign(g,'out.txt');
  rewrite(g);
 
  {перепишем все строки из исходного файла в выходной в обратном порядке}
  for i:=n downto 1 do begin
    Reset(f);
    for k:=1 to i-1 do ReadLn(f);
    ReadLn(f,s);
    WriteLn(g,s);
  end;
 
  close(f);
  close(g);
end.
p.s. Всем, кто понимает, что делается в коде - никогда не делайте так в реальной жизни!
0
0 / 0 / 0
Регистрация: 23.03.2020
Сообщений: 216
02.06.2020, 14:44  [ТС]
что-то последняя ваша фраза подняпрягла)
0
 Аватар для mr-Crocodile
3054 / 1673 / 657
Регистрация: 19.03.2019
Сообщений: 5,380
02.06.2020, 15:00
Цитата Сообщение от ksen___23 Посмотреть сообщение
что-то последняя ваша фраза подняпрягла)
выигрывая в одном, обязательно проигрываешь в другом. Здесь в коде выиграли в использовании оперативной памяти (там всего одна строка грузится), выиграли в простоте кода, зато проиграли в эффективности (файл читается много-много раз)

поясню.
алгоритм такой.
читаем файл построчно, просто для того, чтобы определить количество строк в файле.
потом в цикле
ставим указатель на начало, читаем N-1 раз построчно. Потом читаем N-ю строку и пишем её в выходной файл.
повторяем цикл. те. ставим указатель на начало, читаем N-2 раз построчно. Потом читаем предпоследнюю строку и пишем её в выходной файл.
повторяем цикл. те. ставим указатель на начало, читаем N-3 раз построчно. Потом читаем предпредпоследнюю строку и пишем её в выходной файл.
и повторяем это до тех пор, пока не дойдём до первой строки исходного файла

поэтому, например, файл из 100 строчек будет прочитан от начала 101 раз.
0
0 / 0 / 0
Регистрация: 23.03.2020
Сообщений: 216
02.06.2020, 19:23  [ТС]
кошмар, опять не то, сказал мол порядок строк обратный ,но они не в перевернутом виде теперь(
мда...
0
 Аватар для JuriiMW
5096 / 2662 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
03.06.2020, 06:11
Цитата Сообщение от ksen___23 Посмотреть сообщение
но они не в перевернутом виде теперь
Ну, дык, скопипастить из других ответов вашего же поста религия не позволяет? … если уж за два месяца в голове не нарисовалось ни чего не сложилось?
https://www.cyberforum.ru/post14561198.html
0
 Аватар для mr-Crocodile
3054 / 1673 / 657
Регистрация: 19.03.2019
Сообщений: 5,380
03.06.2020, 11:51
Цитата Сообщение от ksen___23 Посмотреть сообщение
кошмар, опять не то, сказал мол порядок строк обратный ,но они не в перевернутом виде теперь(
это было непонятно из задания.

переделать очень просто:

замените
Цитата Сообщение от mr-Crocodile Посмотреть сообщение
Pascal
1
2
3
4
5
6
7
{перепишем все строки из исходного файла в выходной в обратном порядке}
  for i:=n downto 1 do begin
    Reset(f);
    for k:=1 to i-1 do ReadLn(f);
    ReadLn(f,s);
    WriteLn(g,s);
  end;

на

Pascal
1
2
3
4
5
6
7
8
9
{перепишем все строки из исходного файла в выходной в обратном порядке}
  for i:=n downto 1 do begin
    Reset(f);
    for k:=1 to i-1 do ReadLn(f);
    ReadLn(f,s);
    t:='';
    for k := Length(s) downto 1 do   t := t + s[k];
    WriteLn(g, t);
  end;
и не забудьте добавить переменную t в var:
Pascal
1
  s,t : string;
1
0 / 0 / 0
Регистрация: 23.03.2020
Сообщений: 216
09.06.2020, 12:17  [ТС]
простите, но снова не то, вот код
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
program project5vseeeee;
 
var
  f, g: text;
  i, k, n: integer;
  s: string;
 
begin
  assign(f,'in.txt');
  {определим количество строк в файле}
  reset(f);
  n := 0;
  while not Eof(f) do
  begin
    readln(f, s);
    inc(n);
  end;
  {создадим выходной файл}
  assign(g,'out.txt');
  rewrite(g);
  {перепишем все строки из исходного файла в выходной в обратном порядке}
  for i:=n downto 1 do begin
    Reset(f);
    for k:=1 to i-1 do ReadLn(f);
    ReadLn(f,s);
    WriteLn(g,s);
  end;
 
  close(f);
  close(g);
end.
сказал мол,они не в перевернутом виде. Он тип имел в виду,что и символы в строке идти должны наоборот.Тип тут поменяли только порядок.
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7818 / 4637 / 2837
Регистрация: 22.11.2013
Сообщений: 13,159
Записей в блоге: 1
09.06.2020, 12:54
Цитата Сообщение от ksen___23 Посмотреть сообщение
не в перевернутом виде
См. сообщение #37.
0
 Аватар для mr-Crocodile
3054 / 1673 / 657
Регистрация: 19.03.2019
Сообщений: 5,380
09.06.2020, 14:43
Цитата Сообщение от ksen___23 Посмотреть сообщение
простите, но снова не то, вот код
прости, но ты либо не читаешь, либо не понимаешь.

я же тебе в #37 написал
Цитата Сообщение от mr-Crocodile Посмотреть сообщение
замените
<код поскипан>
Цитата Сообщение от mr-Crocodile Посмотреть сообщение
на
Pascal
1
2
3
4
5
6
7
8
9
{перепишем все строки из исходного файла в выходной в обратном порядке}
  for i:=n downto 1 do begin
    Reset(f);
    for k:=1 to i-1 do ReadLn(f);
    ReadLn(f,s);
    t:='';
    for k := Length(s) downto 1 do   t := t + s[k];
    WriteLn(g, t);
  end;
видимо это оказалось сложно и непонятно?

ладно. мне не сложно. я заменю сам.

вот тебе полный код с заменой из #37
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
program laba5_text;
 
var
  f, g: text;
  i, k, n: integer;
  s,t : string;
 
 
begin
  assign(f,'in.txt');
 
  {определим количество строк в файле}
  reset(f);
  n := 0;
  while not Eof(f) do
  begin
    readln(f, s);
    inc(n);
  end;
 
  {создадим выходной файл}
  assign(g,'out.txt');
  rewrite(g);
 
  {перепишем все строки из исходного файла в выходной в обратном порядке}
  for i:=n downto 1 do begin
    Reset(f);
    for k:=1 to i-1 do ReadLn(f);
    ReadLn(f,s);
    t:='';
    for k := Length(s) downto 1 do   t := t + s[k];
    WriteLn(g, t);
  end;
 
  close(f);
  close(g);
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.06.2020, 14:43

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

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

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

Записать в перевернутом виде строки файла F в файл G
Дан текстовый файл F. Записать в перевернутом виде строки файла F в файл G. Порядок строк в файлы G должен быть обратным по отношению к...

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


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

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

Новые блоги и статьи
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru