В условии задачи нечетко указано, какой символ искать: "о" - это может быть и латинская буква, и кириллическая. В программе предполагается, что это латинский символ, в противном случае его достаточно заменить в const на нужный.
const c:char='o'; var s:string; i,k:integer; begin Write('Введите строку: '); Readln(s); k:=0; for i:=1 to Length(s) do if s[i]=c then Inc(k); Writeln('Символ "',c,'" встречается ',k,' раз(а)') end.
Тестовое решение: Введите строку: Learn wisdom by the follies of others Символ "o" встречается 4 раз(а)
Чтобы задать прямоугольник, достаточно указать координаты концов его диагонали, например, идущей из левого верхнего угла в правый нижний, т.е. две точки: B(x1,y1) и D(x2,y2). Но можно также задать и другую диагональ (AC). Если считать, что стороны прямоугольника параллельны осям координат то длины сторон могут быть найдены как
const
c:char='o';
var
s:string;
i,k:integer;
begin
Write('Введите строку: '); Readln(s);
k:=0;
for i:=1 to Length(s) do if s[i]=c then Inc(k);
Writeln('Символ "',c,'" встречается ',k,' раз(а)')
end.
Тестовое решение:
Введите строку: Learn wisdom by the follies of others
Символ "o" встречается 4 раз(а)
Тогда можно найти и периметр:
Нахождение периметра оформим процедурой Per(x1,y1,x2,y2,P)
procedure Per(x1,y1,x2,y2:real;var P:real);
begin
P:=2*(abs(x2-x1)+abs(y2-y1))
end;
var
x1,x2,y1,y2,p:real;
begin
Write('Введите координаты любой вершины прямоугольника: ');
Read(x1,y1);
Write('Введите координаты противоположной вершины прямоугольника: ');
Read(x2,y2);
Per(x1,y1,x2,y2,p);
Writeln('Периметр прямоугольника равен ',p)
end.
Тестовое решение:
Введите координаты любой вершины прямоугольника: 5 -7
Введите координаты противоположной вершины прямоугольника: -4 12
Периметр прямоугольника равен 56