Помощь - Поиск - Пользователи - Календарь
Полная версия: Строки. Помогите пожалуйста
Форум «Всё о Паскале» > 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
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.