Взаданной фразе после каждой буквы «о» вставить сочетание введенное с клавиатуры. или найдите как изменить эту программу, в ней сочетание пишется только после первой буквы, хотя если словосочетание будет из одной буквы то программа нормально работает. program pony; vark,a,b: string; i: integer; begin write('введите строку'); readln(a); write('введите сочетание'); readln(b); k: =copy (b,1,length (b)); for i: =1 to length (a) do begin if a[i]='о' then insert(k,a,i+1); end; writeln(a); end.

iweriooo iweriooo    2   19.06.2019 06:40    6

Ответы
Dyhanexis Dyhanexis  15.07.2020 16:25
Program pony;

var
  a, b: string;
  i: integer;

begin
  Write('введите строку: '); Readln(a);
  Write('введите сочетание: '); Readln(b);
  for i := length(a) downto 1 do
    if a[i] = 'о' then insert(b, a, i + 1);
  Writeln(a)
end.

Тестовое решение:
введите строку: Дает корова молоко
введите сочетание: 12345
Дает ко12345ро12345ва мо12345ло12345ко12345
ПОКАЗАТЬ ОТВЕТЫ
lionelmessi000 lionelmessi000  15.07.2020 16:25
PascalABC.Net
Скорее всего криво и нерационально, но работает

 var 
s,s2,a : string;
 l,i,b,l2 : integer;
 begin 
readln (s); 
 l := Length(s);
  while b <> -1 do
   begin  b := 0; 
  b := pos ('o',s);
  if b <> 0 then
   begin
  s2 := s2 + copy(s,1,b);
  Delete (s,1,b); 
 writeln ('Введите строку');
  readln (a);
  s2 := s2+a;
   end
    else
     begin
      l2 := Length(s);
       s2 := s2 + copy(s,1,l2);
      b := -1; 
   end; 
   end; 
 writeln (s2);
     end.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика