Free Pascal. Нужно написать программу, где после каждой буквы Ch вставляется строка Str1.

0 голосов
19 просмотров

Free Pascal. Нужно написать программу, где после каждой буквы Ch вставляется строка Str1.


Информатика (31.7k баллов) | 19 просмотров
0

Что такое буква "Ch" ?

0

Любая буква, вводимая с клавиатуры. Это просто в var будет.

0

Ch — буква; Ch:char.

0

а где находятся эт буквы, после которыхнужно вставлять?.. откуда берётся исходный текст?

0

Вводится.

0

Как строка. Насколько понимаю, тут string используется)

Дано ответов: 2
0 голосов
Правильный ответ

Var
  s,str1:string;
  ch:char;
  i:integer;
begin
  Write('Введите текст: '); ReadLn(s);
  Write('Введите искомый символ: '); Readln(ch);
  Write('Введите добавляемый текст: '); Readln(str1);
  for i:=Length(s) downto 1 do
    if s[i]=ch then Insert(str1,s,i+1);
  Writeln('Результат: ',s);
  Readln;
end.

Тестовое решение:
Введите текст: А роза упала на лапу Азора
Введите искомый символ: а
Введите добавляемый текст: 12345
Результат: А роза12345 упа12345ла12345 на12345 ла12345пу Азора12345

(142k баллов)
0 голосов

program Project4;

var ch:char; str,str1,str2:string; i:integer;
begin
    writeln('Введите исходный текст:');
    readln(str);
    writeln('Введите строку которую нужно вставить:');
    readln(str1);
    writeln('Введите символ после которого нужно вставить:');
    readln(ch);
    str2:='';
    i:=pos(ch,str);
    while i>0 do begin
      str2:=str2+copy(str,1,i)+str1;
      delete(str,1,i);
      i:=pos(ch,str);
    end;
    writeln('Результирующая строка: ',str2);
        readln;
end.
(728 баллов)