Есть рекурсивный вариант: например
double area(ll xa, ll ya, ll xb, ll yb, ll xc, ll yc){ double res = abs(xa * (yc - yb) + xb * (ya - yc) + xc * (yb - ya)) / 2.0; return res;<span>}
вот формула </span>res = abs(xa * (yc - yb) + xb * (ya - yc) + xc * (yb - ya))
здесь xa, ya ... - координаты
Файл, папка, ярлык, рабочий стол, панель задач
Sub aaa()
s = InputBox("Введите строку")
n = CInt(InputBox("Введите длину N"))
m = Len(s)
If m > n Then
s = Right(s, n)
Else
If m < n Then s = String(n - m, ".") + s
End If
MsgBox "Результат: " + s, vbInformation
End Sub
Var N:Array[1..20] of integer; i,j,q,k,max:integer;begin Randomize;writeln('массив');for i:=1 to 20 do beginN[i]:= random(100)-50;write(N[i]:4);end;writeln;i:=0;writeln('Измененый массив');While j<20 do beginj:= j + 2; k := N[j-1];N[j-1]:=N[j]; N[j]:= k;end;foreach q in N do beginwrite(q :4);end;end.
var N,M:Array[1..20] of integer; i,j,min,q,k,max:integer;begin Randomize;max:=-200; min:=200;writeln('1 массив');for i:=1 to 20 do beginN[i]:= random(100)-50;write(N[i]:4);if ((N[i]>0 )and(N[i] mod 2 = 0))then beginif max < N[i] then max := N[i];if min > N[i] then min := N[i];j:= j + 1;M[j]:=N[i];end;end;writeln;writeln('2 массив');foreach k in M do beginwrite(k:4);end;writeln;if (max = -200) or (min = 200) then write ('нет чётных положительных элементов')else beginwrite('max = ' ,max:4);write(' min = ' ,min:4);end;end.