Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.05.2012, 20:00   #1
SVing
Ээээ
Пользователь
 
Аватар для SVing
 
Регистрация: 13.09.2011
Сообщений: 99
По умолчанию Текстовые файлы

Помогите переделать обработку программы на такое задание

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


Код:
Program L_8;
Uses crt;
   const
   k=5;
   nameregim:array[1..k] of string[26]=
  ('1 - ўў®¤',
   '2 - ўлў®¤',
   '3 - ®Ўа Ў®вЄ ',
   '4 - а биЁаҐ*ЁҐ',
   '5 - ‚л室');

Var St:text;
   F_n:string;
     S,max,i,i1:integer;
   j,l,N:byte;
     {ᮧ¤ *ЁҐ д ©« }
Procedure Sozdt;
 Begin
  {Assign(St,'F_n');}
  Writeln('„ ©вҐ Ё¬п ᮧ¤®ў Ґ¬®Ј® д ©« ');
  Readln(F_n);
   Assign(St,F_n);
  Rewrite(St);
  Writeln('‚ўҐ¤ЁвҐ зЁб« ,ўў®¤ 000 - ўл室 ');
  While true do
   Begin

    Readln(S);
    if s=000 then
     begin
      Close(St);
      Exit;
     end;
    Writeln(St,S); {§ ЇЁб «Ё бва®Єг ў д ©«}
   end;
 end;
Procedure Vivodt;
 begin
{ Assign(St,'F_n');}
  Writeln('Ё¬п д ©«  ');
  Readln(F_n);
   Assign(St,F_n);
  Reset(St);
  While Not SeekEOF(St) do
   begin
    Readln(St,S);
    Writeln(S);
   end;
  Readln;
 end;

Procedure Obrt;
 Begin
  Writeln('Ё¬п д ©«  ');
  Readln(F_n);
   Assign(St,F_n);
   Reset(St);
   i:=1;I1:=1;
   max:=-maxint;

   While Not SeekEoF(St) do
    Begin
     Readln(St,S);
     If s>max then
     begin
      max:=s;
      i1:=i;
     end;
     i:=i+1;

     end;
     Close(St);
     Writeln('max= ',max);
     Writeln('N_max= ',i1);

   Readln;
  end;
Procedure Rach;
Begin
 Write('ўўҐ¤ЁвҐ Ё¬п а биЁа塞®Ј® д ©«  ');
  Readln(F_n);
  Assign(St,F_n);
  Append(St);
  Writeln('ўўҐ¤ЁвҐ зЁб« ,000-ўл室 ');

   While true do
 begin
  Readln(S);
  if s=000 then
   begin
    Close(St);
    Exit;
   end;
  Writeln(St,S);
 end;
end;

Begin
TextColor(10);
  while true do
  begin
  clrscr;
  gotoXY(24,7);
  write('ѓ‹Ђ‚ЌЋ… Њ…Ќћ  ');
  for j:=1 to 5 do
   begin
      gotoXY(25,7+j);
      write(nameregim[j]);
   end;
  gotoXY(20,15);
  writeln('‚›Ѓ…ђ€’… ђ…†€Њ € ЌЂ†Њ€’… Enter');
  readln(l);
  case l of
 1:Sozdt;
 2:Vivodt;
 3:Obrt;
 4:Rach;
 5:exit;
  end;
 end;
end.

Последний раз редактировалось SVing; 25.05.2012 в 08:23.
SVing вне форума Ответить с цитированием
Старый 25.05.2012, 17:19   #2
execom
Редкий тунеядец
Форумчанин
 
Аватар для execom
 
Регистрация: 29.10.2006
Сообщений: 595
По умолчанию

Честно говоря трудно понять задание.. Что именно требуется? если нужно из вот такого файла:
Цитата:
1
12
123
1234
123456
1234567
12345678
123456789
1234567890
сделать такой:
Цитата:
1
21
321
4321
654321
7654321
87654321
987654321
0987654321
то это делается пустяковым образом примерно так:
Код:
uses dos;
var
  txt1,txt2 : Text;
  st1,st2 : string;
  i : integer;
begin
  Assign(txt1,ParamStr(1));
  Assign(txt2,ParamStr(2));
  Reset(txt1);
  Rewrite(txt2);
  While Not EOF(TXT1) Do
  begin
    St1 := '';
    St2 := '';
    Readln(txt1,st1);
    for i:=0 to length(st1)-1 do st2:=st2+st1[length(st1) - i];
    Writeln(txt2,st2);
  end;
  Close(txt1);
  Close(txt2);
end.
Работу не проверял, т.к. в 64-х разрядной винде турбина не хочет работать))
execom вне форума Ответить с цитированием
Старый 25.05.2012, 18:01   #3
SVing
Ээээ
Пользователь
 
Аватар для SVing
 
Регистрация: 13.09.2011
Сообщений: 99
По умолчанию

ну да оно , это надо сделать
так это сама обработка ? и надо как в той программе ,что я вылажил , без создавания всяких txt файлов
SVing вне форума Ответить с цитированием
Старый 25.05.2012, 18:10   #4
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Цитата:
так это сама обработка ? и надо как в той программе ,что я вылажил , без создавания всяких txt файлов
Это была программа целиком.

"Как в той программе" это сильно. Там ахтунг криворукого арангутанга.
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 25.05.2012, 18:15   #5
SVing
Ээээ
Пользователь
 
Аватар для SVing
 
Регистрация: 13.09.2011
Сообщений: 99
По умолчанию

блин ,так делов том что так и надо , ну с менюшкой как нить разберусь ,а вот с обраюоткой как там проблемы. Обработка надо по тому примеру

помогите пожалуйсто переделать

никто не знает ?

Последний раз редактировалось Stilet; 28.05.2012 в 21:10.
SVing вне форума Ответить с цитированием
Старый 29.05.2012, 14:24   #6
SVing
Ээээ
Пользователь
 
Аватар для SVing
 
Регистрация: 13.09.2011
Сообщений: 99
По умолчанию

никто не поможет в самом деле?
SVing вне форума Ответить с цитированием
Старый 29.05.2012, 14:52   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

пост #2 выложено решение.
что не устраивает?!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 30.05.2012, 12:38   #8
SVing
Ээээ
Пользователь
 
Аватар для SVing
 
Регистрация: 13.09.2011
Сообщений: 99
По умолчанию

там же при помощи создания текстовых документов ,а их не надо создавать ,надо как в примере программе ,просто обработку переделать
SVing вне форума Ответить с цитированием
Старый 30.05.2012, 14:19   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

цитирую задание
Цитата:
Создать текстовый файл, строки которого содержат слова. Записать в перевернутом виде строки старого файла в новый файл.
Как вы собираетесь обойтись без СОЗДАНИЯ текстового файла и записи строк в него, если это прямо в вашем задании написано?!!

что Вы от форумчан добиваетесь - мне АБСОЛЮТНО непонятно!

сказать бы у Вас решение было написано БЕЗ текстовых файлов, так нет:
Цитата:
Код:
Var St:text;
....
 Writeln('Ё¬п д ©«  ');
  Readln(F_n);
   Assign(St,F_n);
   Reset(St);
   i:=1;I1:=1;
   max:=-maxint;

   While Not SeekEoF(St) do
    Begin
     Readln(St,S);
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Текстовые файлы yana33311 Паскаль, Turbo Pascal, PascalABC.NET 1 17.04.2011 14:32
Текстовые файлы. dima-intro Помощь студентам 3 31.12.2010 16:09
Текстовые файлы C++ :( DragoonSki Помощь студентам 0 29.05.2010 14:24