var i, k, N: word; A, B: array[1..10000] of integer;
begin write(' N = '); readln(N); writeln(' Введите массив из ', N, ' чисел: '); for i := 1 to N do begin read(a[i]); //Вводим i-й элемент массива. if a[i] mod 2 = 0 then //Если он четный, begin inc(K); //то увеличиваем K на 1. b[K] := a[i] //Очередной элемент нового массива. end end; writeln('Четные числа обратном порядке: '); { Выводим четные элементы массива в обратном порядке: } for i := K downto 1 do write(' ', b[i]); write(' K = ', K) end.
#include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
float gip, katet1,katet2,radius;
cout << "Введите величину гипотенузы ( см ): ";
cin >> gip;cout << "Введите величину известного катета ( см ) : ";
cin >> katet1;
katet2 = sqrt((float(gip*gip - katet1 * katet1)));
radius = (katet1 + katet2 - gip) / 2;
cout << "Второй катет равен: " << katet2 << " см \nРадиус вписанной
окружности: " << radius << endl;
return 0;
}
использовал формулу для радиуса radius = (katet1+katet2-gip)/2
Для нахождения катетов katet2 = корень квадратный из gip^2-katet1^2
Писал в visual c++, советую там и проверять. Чтобы с синтаксисом проблем не возникло
i, k, N: word;
A, B: array[1..10000] of integer;
begin
write(' N = ');
readln(N);
writeln(' Введите массив из ', N, ' чисел: ');
for i := 1 to N do
begin
read(a[i]); //Вводим i-й элемент массива.
if a[i] mod 2 = 0 then //Если он четный,
begin
inc(K); //то увеличиваем K на 1.
b[K] := a[i] //Очередной элемент нового массива.
end
end;
writeln('Четные числа обратном порядке: ');
{ Выводим четные элементы массива в обратном порядке: }
for i := K downto 1 do
write(' ', b[i]);
write(' K = ', K)
end.