Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.94/18: Рейтинг темы: голосов - 18, средняя оценка - 4.94
0 / 0 / 0
Регистрация: 23.03.2020
Сообщений: 216

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

08.04.2020, 10:48. Показов 3998. Ответов 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
Ответ Создать тему
Новые блоги и статьи
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2. Задача: Обеспечить запись документа в регистр сведений независимо от. . .
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется. Ну как вам?
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания источниках данных и элементов формы(текстовые поля и метки), опирается все это на технологию событий и мета. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru