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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.12.2014, 18:04   #1
qwerty321456
 
Регистрация: 16.12.2014
Сообщений: 6
По умолчанию Введите строку. Удвоить все буквы z

Введите строку. Удвоить все буквы z, стоящие перед второй запятой.
Код:
program la25;
uses crt;
var ts,s:string;
    i,j,n,k:integer;
begin
clrscr;
writeln('vved text');
readln(ts);
n:=length(ts);
s:='zz';
for i:=1 to n do
 begin
  if (ts[i]=',') then k:=2;
   if k=2 then s:=ts[i]
    end;
  repeat
  insert(s[k],ts,i);
  inc(i,k);
  until
  i>length(ts);
writeln(ts);
readln;
end.
Удваивает только после последней запятой...
Как понимаю, нужно вставить цикл с запят.? Пробовал, но что-то не получилось...
qwerty321456 вне форума Ответить с цитированием
Старый 25.12.2014, 09:22   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

я такой вариант решения предлагаю:
Код:
program la25;
uses crt;
var ts:string;
    i,zap1, zap2 :integer;
begin
clrscr;
writeln('vved text');
{readln(ts);}
ts := 'maza faza, kukuruzza baza lozania, koza nostra zapped.';
writeLn(ts);

zap1 := -1; zap2 := -1;
for i:=1 to Length(ts) do
  if ts[i]=',' then begin
    if zap1<0 then zap1 := i
    else
      if zap2<0 then zap2 := i
      else Break; {нашли обе запятые,дальше цикл крутить смысла нет}
  end;
  
if zap2<0 then WriteLn('Net v stroke dvuh zapyatyh, znachit, i delat nechego!')
else begin
  for i:= zap2 downto zap1 do {обрабатываем символы все между первой и второй запятой}
    if ts[i]='z' then Insert('z', ts, i+1);
    
  WriteLn('rezultat: ', ts);
end;
readln;
end.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Заменить в файле все первые буквы в словах на заглавные буквы Luchfan12 Помощь студентам 6 15.10.2014 13:10
(Си) Удвоить все буквы во введенном слове. Светлана12 Помощь студентам 2 29.04.2014 21:08
Ввести строку символов, если ее длина>8, удалить все буквы – A..Z. (С++) Misha_Sil Помощь студентам 1 16.02.2013 17:55
код на ассемблере((( Ввести с клавиатуры строку. Преобразовать все буквы в числа. построить криптограмму anna123 Помощь студентам 3 16.12.2012 03:29
Удвоить вхождение некоторой буквы в текст dark999 Помощь студентам 2 21.03.2011 12:32