// PascalABC.NET 3.0, сборка 1144 от 16.01.2016 begin var n:=ReadInteger('n='); var a:=ArrRandom(n,-50,50); Writeln('Исходный массив'); a.Println; var se:=a.Where(x->x mod 3=0); if se.Count=0 then Writeln('В массиве нет элементов, кратных трем') else begin var b:=se.Max; var i:=0; while a[i]<>b do Inc(i); if i=n-1 then Writeln('Максимальный элемент - последний') else begin Writeln('Результирующий массив'); a[i+1]:=abs(a.Where(x->x<0).Sum); a.Println end end end.
#include<iostream>
#include<iomanip>
#define _USE_MATH_DEFINES
#include<cmath>
using namespace std;
int main()
{
double a, b, c, alfa, beta, gamma;
cout <<"a="; cin >> a;
cout <<"b="; cin >> b;
cout <<"c="; cin >> c;
if (a+b>c && a+c>b && b+c>a)
{
alfa = acos((b*b+c*c-a*a)/(2*b*c))*180/M_PI;
beta = acos((a*a+c*c-b*b)/(2*a*c))*180/M_PI;
gamma = acos((a*a+b*b-c*c)/(2*a*b))*180/M_PI;
cout <<"Angles in degrees:\n";
cout <<setprecision(3)<<fixed<< "alfa=" << alfa << " beta=" << beta << " gamma=" << gamma << endl;
}
else cout << "Triangle absent\n";
system("pause");
return 0;
}
begin
var n:=ReadInteger('n=');
var a:=ArrRandom(n,-50,50);
Writeln('Исходный массив'); a.Println;
var se:=a.Where(x->x mod 3=0);
if se.Count=0 then
Writeln('В массиве нет элементов, кратных трем')
else begin
var b:=se.Max;
var i:=0;
while a[i]<>b do Inc(i);
if i=n-1 then Writeln('Максимальный элемент - последний')
else begin
Writeln('Результирующий массив');
a[i+1]:=abs(a.Where(x->x<0).Sum); a.Println
end
end
end.
Тестовое решение:
n= 15
Исходный массив
-24 -38 15 -33 -40 -18 21 34 20 49 -19 29 29 38 -41
Результирующий массив
-24 -38 15 -33 -40 -18 21 213 20 49 -19 29 29 38 -41