1)Дано предложение. Вывести "столбиком" все его буквы н, стоящие ** нечетных местах. ...

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

1)Дано предложение. Вывести "столбиком" все его буквы н, стоящие на нечетных местах.
2)Из слова вертикаль путем "вырезок" и "склеек" его букв получить слова тир и ветка
3)Дано предложение. Напечатать все его слова, предварительно преобразовав каждое из них по следующему правилу:а) заменить первую встреченную букву a на о; б) удалить из слова все вхождения последней буквы (кроме нее самой

pascal abc, написать программу


Информатика (25 баллов) | 38 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

1)
var s:string; i:integer;
begin
readln(s);
for i:=1 to length(s) do
 if (i mod 2=1)and(s[i]='н') then writeln(i,' - н');
end.

Пример:
Дано предложение. Вывести "столбиком" все его буквы н, стоящие на нечетных местах
3 - н
53 - н
67 - н

2)
var s,s1,s2:string;
begin
s:='вертикаль';
s1:=s[4]+s[5]+s[3];
s2:=s[1]+s[2]+s[4]+s[6]+s[7];
writeln(s1,' ',s2);
end.

Результат:
тир ветка

3. Замечание. Предполагается, что слова в предложениях отделяются друг от друга одним пробелом.
3 а)
var s:string; i,k:integer;
begin
readln(s);
k:=0;
for i:=1 to length(s) do
 begin
 if (s[i]='а')and(k=0) then
  begin s[i]:='о'; k:=1; end;
 if s[i]=' ' then k:=0;
 end;
writeln(s);
end.

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

3 б)
var s,sl,s_new:string; i:integer;
begin
readln(s);
s:=s+' ';
s_new:=''; sl:='';
for i:=1 to length(s) do
 if s[i]<>' ' then sl:=sl+s[i]
 else begin
  while pos(s[i-1],sl)>0 do delete(sl,pos(s[i-1],sl),1);
  s_new:=s_new+sl+s[i-1]+' ';
  sl:='';
 end;
writeln(s_new);
end.

Пример:
нечетное предложение больше четного
нчтное прдложние больше четнго 

(194k баллов)