Напишите текст программы (любой язык программирования) для решения сле-дующей задачи **...

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

Напишите текст программы (любой язык программирования) для решения сле-дующей задачи на ПЭВМ: С клавиатуры вводится текстовая строка. Найти в ней все предлоги «в» и заменить их на предлоги «на».


Информатика (30 баллов) | 28 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

//Pascal ABC.NET 3.1 сборка 1256

Var
 s,s1:string;
begin
readln(s);
if (s[1]='в') and (s[2]=' ') then
 begin
  delete(s,1,1);
  s:='на'+s;
 end;
if (s[1]='В') and (s[2]=' ') then
 begin
  delete(s,1,1);
  s:='На'+s;
 end;
while pos(' в ',s)<>0 do
 begin
  if (s[1]='в') and (s[2]=' ') then
 begin
  delete(s,1,1);
  s:='на'+s;
 end;if (s[1]='В') and (s[2]=' ') then
 begin
  delete(s,1,1);
  s:='На'+s;
 end;
  s1:=s1+copy(s,1,pos(' в ',s)-1)+' на ';
  delete(s,1,pos(' в ',s)+2);
 end;
  if (s[1]='в') and (s[2]=' ') then
 begin
  delete(s,1,1);
  s:='на'+s;
 end;
if (s[1]='В') and (s[2]=' ') then
 begin
  delete(s,1,1);
  s:='На'+s;
 end;
s:=s1+s;
writeln(s);
end.

Пример ввода 1:
запасти в зиму, приехать в год, приготовить в день, выпить лекарство в ночь
Пример вывода 1:
запасти на зиму, приехать на год, приготовить на день, выпить лекарство на ночь

Пример ввода 2(глубокие песни современной отечественной эстрады):
В в в в в в в в в в в в в в в в в в наааааааа.
Пример вывода 2:
На на на на на на на на на на на на на на на на на на наааааааа.

(38.6k баллов)
0

Да... вот как, оказывается, можно написать программу из трех строчек)))))

0 голосов

// PascalABC.NET 3.1, сборка 1267 от 10.07.2016
begin
  var s:=' '+ReadlnString('>');
  s:=(s.Replace(' в ',' на '))[2:];
  Writeln(s);
end.

Тестовые решения
> Можем пойти в кино, в театр, в кафешку, а можем посидеть в "Знаниях"
Можем пойти на кино, на театр, на кафешку, а можем посидеть на "Знаниях"

> в лесу мы нашли вот такие грибы.
на лесу мы нашли вот такие грибы.

(142k баллов)