2)Pascal
var s: string;
i, f, g: integer;
begin
writeln('Введите строку с угловыми скобками:');
readln(s);
f := pos('<', s);
if f = 0
then begin
write('Нет "<"');
if pos('>', s) = 0
then writeln('и ">"')
else writeln
end
else begin
g := 0;
for i := length(s) downto 1 do
if s[i] = '>'
g := i;
break
end;
if g = 0
then writeln('Нет ">"')
else if f > g
then writeln('">" левее "<"')
delete(s, f, g - f + 1);
writeln('Результат:');
writeln(s)
end.
Если гарантированно, что в тексте есть только по одному правильно расположенному символу "<" и ">", то совсем просто:
Pascal
delete(s, pos('<', s), pos('>', s) - pos('<', s) + 1);
0
2)Pascal
var s: string;
i, f, g: integer;
begin
writeln('Введите строку с угловыми скобками:');
readln(s);
f := pos('<', s);
if f = 0
then begin
write('Нет "<"');
if pos('>', s) = 0
then writeln('и ">"')
else writeln
end
else begin
g := 0;
for i := length(s) downto 1 do
if s[i] = '>'
then begin
g := i;
break
end;
if g = 0
then writeln('Нет ">"')
else if f > g
then writeln('">" левее "<"')
else begin
delete(s, f, g - f + 1);
writeln('Результат:');
writeln(s)
end
end
end.
Если гарантированно, что в тексте есть только по одному правильно расположенному символу "<" и ">", то совсем просто:
Pascal
var s: string;
begin
writeln('Введите строку с угловыми скобками:');
readln(s);
delete(s, pos('<', s), pos('>', s) - pos('<', s) + 1);
writeln('Результат:');
writeln(s)
end.
0
// PascalABC.NET 3.1, сборка 1174 от 22.02.2016
begin
Writeln(Range(1,100).Select(i->sin(i)*cos(i)).Where(x->x<>0).Average)
end.
Тестовое решение:
-0.00136006072493969
2. А вот так учат писать это же школьные учителя:
// PascalABC.NET 3.1, сборка 1174 от 22.02.2016
var
m:array[1..100] of real;
i,k:integer;
s:real;
begin
s:=0;
k:=0;
for i:=1 to 100 do begin
m[i]:=sin(i)*cos(i);
if m[i]<>0 then begin
s:=s+m[i];
k:=k+1
end
end;
Writeln(s/k)
end.
Тестовое решение:
-0.00136006072493969