4. Напишите алгоритм вычисления площади и периметра треугольника со сторонами 10 см, 20 см и 15 см. Используйте команду присваивания и необходимые формулы. Пример алгоритма вычисления суммы двух чисел :
А:=55;
В:=13;
S:=А+В;
Пример алгоритма вычисления среднего арифметического двух чисел :
А:=50;
В:=10;
С:=(А+В)/2;
using namespace std;
int main(){int a, n, max, min;int max_i, max_k, min_i, min_k;//ввод размера массиваcin>>a;cin>>n;
//объявление массиваint** a = new int* [a]; for(int i = 0; i < n; i++) { a[i] = new int [a]; }
//ввод первого массива for(int i = 0; i < a; i++) { for(int k = 0; k < n; k++) { cin>>a[i][k]; } } //Инициализация max, min; max=a[0][0]; min=a[0][0]; //поиск максимума for(int i = 0; i < a; i++) { for(int k = 0; k < n; k++) { if(max<a[i][k]) { max=a[i][k]; max_i=i; max_k=k; } } } //поиск минимума for(int i = 0; i < a; i++) { for(int k = 0; k < n; k++) { if(min>a[i][k]) { min=a[i][k]; min_i=i; min_k=k; } } }
//Max and Min меняются местамиswap(a[max_i][max_k],a[min_i][min_k]);getch();return 0;}
const
n=20;
var
a:array[1..n] of integer;
i,imax,imin:integer;
s:longint;
begin
Randomize;
Writeln('Исходный ряд значений');
imax:=1; imin:=1;
for i:=1 to n do begin
a[i]:=Random(51)-25; Write(a[i],' ');
if a[i]>a[imax] then imax:=i
else
if a[i]<a[imin] then imin:=i
end;
Writeln;
if imax>imin then
Writeln('Максимальный элемент встретился позже минимального')
else begin
s:=0;
for i:=imax+1 to imin-1 do s:=s+a[i];
Writeln('Сумма элементов между максимальным и минимальным значением ',s)
end
end.
Тестовое решение:
Исходный ряд значений
10 -3 9 5 20 10 6 2 -19 -19 6 -24 -7 -1 23 11 -8 -16 -14 -25
Сумма элементов между максимальным и минимальным значением -27