Помощь - Поиск - Пользователи - Календарь
Полная версия: Строки. Помогите пожалуйста
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
jetman
Вот уже 8 день, как я начал писать на паскале. Видно не мое <_< , до сих пор не могу разобраться с принципом написания элементапрных прог.
Теперь непосредственно о проблеме Дана строка символов. Преобразовать строку, удвоив каждую латинскую букву.
volvo
jetman, а не слишком ли рано - делать выводы "мое или не мое" на 8-ой день? smile.gif
Кстати, задачка решается как-то вот так:
  i := 1;
  while i <= length(s) do begin
    { здесь можно проверять и на заглавные буквы тоже }
    if s[i] in ['a' .. 'z'] then begin 
      insert(s[i], s, i+1); inc(i);
    end;
    inc(i)
  end;
jetman
volvo огромный тебе респект, за помощь. Все работает
program test;
 var i : integer;
     s : string;
 begin
 writeln('Enter symbools, please');
 readln(s);
 i := 1;
  while length(s) >= i do
  begin
  if s[i] in ['a' .. 'z'] then
  begin
  insert(s[i], s, i+1); inc(i)
  end;
  if s[i] in ['A' .. 'Z'] then
  begin
  insert(s[i], s, i+1); inc(i)
  end;
 inc(i);
 writeln(s);
 readln;
end;
end.

Только вот как сделать, чтобы не надо было жать Enter постоянно (для каждого изменения), а сразу выходил бы готовый итоговый результ.

Тегами пользуйся...
volvo
blink.gif
Зачем же так жестоко?
program test;
var
  i : integer;
  s : string;

begin
  writeln('Enter symbools, please');
  readln(s);
  i := 1;
  while length(s) >= i do begin
    if upcase(s[i]) in ['A' .. 'Z'] then begin
      insert(s[i], s, i+1); inc(i)
    end;
    inc(i);
  end;
  writeln(s);
  readln;
end.
jetman
Во истину краткость-сестра таланта. Вопрос больше нет. Сижу разбираюсь с текстом. Еще раз большой респект за помощь smile.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.