Написать функцию, которая циклически сдвигает одномерный массив вправо или влево на указанное число позиций. Сдвиг также должен быть кольцевым, то есть те элементы, которые уходят вправо или влево за пределы массива, должны помещаться с другого его конца. *любая попытка списывание карается баном!
1) a x a = a² ⇒ b; b x a = a³ ⇒ результат
2) a x a = a² ⇒ b; b x b = a⁴ ⇒ c; c x c = a⁸ ⇒ c; c x b = a¹⁰ ⇒ результат
Программа на языке PascalABC.Net
var
a,b,c,y:real;
begin
Write('Введите число: '); Read(a);
b:=a*a; y:=b*a; Writeln('Третья степень числа равна ',y);
c:=b*b; c:=c*c; y:=b*c;
Writeln('Десятая степень числа равна ',y)
end.
Тестовые решения:
Введите число: 2
Третья степень числа равна 8
Десятая степень числа равна 1024
Введите число: -13.594
Третья степень числа равна -2512.128188584
Десятая степень числа равна 215512594781.574
begin
writeln('Введите строны первого треугольника: ');
read(a1, b1, c1);
writeln('Введите стороны второго треугольника: ');
read(a2, b2, c2);
p1 := (a1 + b1 + c1) / 2;
p2 := (a2 + b2 + c2) / 2;
s1 := sqrt(p1 * (p1 - a1) * (p1 - b1) * (p1 - c1));
s2 := sqrt(p2 * (p2 - a2) * (p2 - b2) * (p2 - c2));
if (s1 + 1e-3 > s2) and (s1 < s2 + 1e-3) then writeln('Равновеликие')
else writeln('Неравновеликие');
end.