Граф задан числом вершин n и ребрами их связывающими. каждое ребро задано парой чисел (номерами вершин, которые оно связывает). рёбра вводятся либо с клавиатуры, либо в виде массива размера 2*k, где k - число рёбер. необходимо построить матрицу смежности в виде квадратного массива. написать на с++
Длина стороны может быть определена как расстояние между соответствующими сторонами треугольника:
// PascalABC.NET 3.0, сборка 1160 от 05.02.2016
type
Point=record
x,y:real
end;
procedure GetPoint(c:char;var M:Point);
begin
Write('Введите координаты точки ',c,': ');
Read(M.x,M.y)
end;
function Dist(a,b:Point):=sqrt(sqr(b.x-a.x)+sqr(b.y-a.y));
begin
var A,B,C:Point;
GetPoint('A',A); GetPoint('B',B); GetPoint('C',C);
var ab:=Dist(A,B);
var bc:=Dist(B,C);
var ac:=Dist(A,C);
if (ab<bc+ac) and (bc<ab+ac) and (ac<ab+bc) then
Writeln('Треугольник существует')
else Writeln('Треугольник не существует')
end.
Тестовое решение:
Введите координаты точки A: -6.9 -5.3
Введите координаты точки B: 0 11.4
Введите координаты точки C: 9 3
Треугольник существует
Const
s=5;
Var
ar:array[1..s] of integer;
n,m,i:integer;
begin
writeln('N');
readln(n);
writeln('M');
readln(m);
writeln('Array:');
for i:=1 to s do
readln(ar[i]);
writeln('First array:');
for i:=1 to s do
begin
write(ar[i]:4);
if ar[i] div n<>0 then ar[i]:=ar[i]+m;
end;
writeln;
writeln('Final array:');
for i:=1 to s do
write(ar[i]:4);
end.
Пример ввода:
3
3
1
2
3
4
5
Пример вывода:
First array:
1 2 3 4 5
Final array:
1 2 6 7 8
//Блок-схема во вложении