var
a, b, c, p, s : real;
begin
read (a, b, c);
p := (a + b + c) / 2;
s := sqrt (p * (p - a) * (p - b) * (p - c)); //формула Герона
writeln (s);
end.
. Дана квадратная матрица. Произвести циклический сдвиг элементов каждой строки матрицы на К элементов влево
. Дана квадратная матрица. Произвести циклический сдвиг элементов каждой строки матрицы на К элементов влево
Объяснение:
. Дана квадратная матрица. Произвести циклический сдвиг элементов каждой строки матрицы на К . Дана квадратная матрица. Произвести циклический сдвиг элементов каждой строки матрицы на К . Дана квадратная матрица. Произвести циклический сдвиг элементов каждой строки матрицы на К элементов влево влево влево. Дана квадратная матрица. Произвести циклический сдвиг элементов каждой строки матрицы на К элементов влево. Дана квадратная матрица. Произвести циклический сдвиг элементов каждой строки матрицы на К . Дана квадратная матрица. Произвести циклический сдвиг элементов каждой строки матрицы на К элементов . Дана квадратная матрица. Произвести циклический сдвиг элементов каждой строки матрицы на К элементов влево влево. Дана квадратная матрица. Произвести циклический сдвиг элементов каждой строки матрицы на К элементов влево. Дана квадратная матрица. Произвести циклический сдвиг элементов каждой строки матрицы на К элементов . Дана квадратная матрица. Произвести циклический сдвиг элементов каждой строки матрицы на К элементов влевоОбъяснение:
Алгоритм решения данной задачи можно описать так:
За у пользователя количество шагов сдвига и направление. Условиться, что если вводится отрицательное целое, то сдвиг выполняется влево на указанное абсолютное значение, если вводится положительное число, то сдвиг вправо.
Заполнить исходный массив и вывести его на экран.
Выполнять внешний цикл столько раз, сколько шагов было указано.
Если было введено отрицательное число, то выполнить цикл от первого элемента до предпоследнего, перезаписав в нем значение каждой очередной ячейки на значение последующей. Записать в последнюю ячейку 0.
Иначе, выполнить цикл от последнего элемента до второго, записывая в каждую текущую ячейку значение предыдущей. В первую ячейку записать 0.
Вывести на экран текущий массив.
Сдвиг Влево
-4
111 222 333 444 555 666 777 888 999
222 333 444 555 666 777 888 999 0
333 444 555 666 777 888 999 0 0
444 555 666 777 888 999 0 0 0
555 666 777 888 999 0 0 0 0
Сдвиг в Право
5
111 222 333 444 555 666 777 888 999
0 111 222 333 444 555 666 777 888
0 0 111 222 333 444 555 666 777
0 0 0 111 222 333 444 555 666
0 0 0 0 111 222 333 444 555
0 0 0 0 0 111 222 333 444
program test;
var a, b, c:integer; s, p: real;
begin
write('Enter a: ');
readln(a);
write('Enter b: ');
readln(b);
write('Enter c: ');
readln(c);
p:=(a+b+c)/2;
s:=sqrt(p*(p-a)*(p-b)*(p-c));
writeln('S = ', s);
readln;
end.