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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.05.2013, 22:08   #1
Joistick
 
Регистрация: 30.12.2012
Сообщений: 7
По умолчанию заместить символы так, чтобы ключевое слово начиналось с первой позиции

Плз, помогите решить. Задача такая:
Есть ключевое слово и текстовый файл f1. Необходимо создать файл f2, который содержит ряды f1, символы в которых цыклично замещены так, чтобы ключевое слово начиналось с первой позиции. Ряды, которые не содержат ключевого слова в файл f2 не записываются.

Ниже код, но он выполняет только сдвиг ключевого слова на К позиций. Как сделать так, чтобы ключевое слово сдвигалось на первую позицию? И чтобы ряды, которые не содержат ключевого слова не записывались в новый файл

Надеюсь на помощь

Код:
uses crt;
var f1, f2: text;
    slovo, tmp: string;
    ch: char;
    k,i: integer;
 
begin
clrscr;
write ('Vvedite imya faila dlya chtenia: ');
readln (slovo);
assign(f1, slovo);
reset(f1);
write ('Vvedite imya faila dlia chtenia: ');
readln(slovo);
assign(f2, slovo); rewrite(f2);
write ('kliuchevoe slovo: ');
readln(slovo);
write('K= ');
readln(k);
while not eof(f1) do
 begin
 read(f1,ch);
 if ch = slovo[1] then
  begin
  tmp:=ch
  while not eof(f1) and (length(tmp)<length(slovo)) do
   begin
   read(f1,ch);
   tmp:=tmp+ch;
   end;
  if pos(tmp,slovo) = 1 then
   for i:=1 to k do
    if not eof(f1) then
     begin
     read(f1,ch);
     write(f2,ch);
     end;
    write (f2,tmp);
    end;
else write (f2,ch);
  end;
close(f1);
close(f2);
writeln('File bil uspeshno perepisan');
readkey;
end.
Joistick вне форума Ответить с цитированием
Старый 31.05.2013, 08:02   #2
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Что такое ряды применительно к текстовому файлу?

Если у Вас есть код, сдвигающий на К позиций, то для помещения ключевого слова в первую позицию нужно k := pos(ключевое слово, строка);
s-andriano вне форума Ответить с цитированием
Старый 19.06.2013, 21:18   #3
Joistick
 
Регистрация: 30.12.2012
Сообщений: 7
По умолчанию

спасибо, как раз использовал Pos
Joistick вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
переписать строку s так, чтобы символы в ней были записаны в обратном порядке edikesh Помощь студентам 7 05.12.2011 23:16
Как сделать так, чтобы когда вводишь символы, текст двигался справа налево? gylayko Помощь студентам 7 03.11.2011 20:56
Так всё начиналось JTG Софт 2 11.08.2008 14:34