P.s каждая картинка к , 1 картинка 1
1. между населёнными пунктами а, в, с, d, е построены дороги, протяжённость которых (в километрах) приведена в таблице:
определите длину кратчайшего пути между пунктами а и e. передвигаться можно только по дорогам, протяжённость которых указана в таблице.
2.между населёнными пунктами а, в, с, d, е построены дороги, протяжённость которых (в километрах) приведена в таблице:
определите длину кратчайшего пути между пунктами а и e. передвигаться можно только по дорогам, протяжённость которых указана в таблице.
3. между населёнными пунктами a, b, c, d, e построены дороги, протяжённость которых (в км) приведена в таблице.
определите длину кратчайшего пути между пунктами a и е. передвигаться можно только по дорогам, протяжённость которых указана в таблице.
1) 4
2) 5
3) 6
4) 7
4. между населёнными пунктами a, b, c, d построены дороги, протяжённость которых (в километрах) в таблице.
определите длину кратчайшего пути между пунктами a и c. передвигаться можно только по дорогам, протяжённость которых указана в таблице.
5.между населёнными пунктами а, в, с, d, е построены дороги, протяжённость которых (в километрах) приведена в таблице:
определите длину кратчайшего пути между пунктами а и e. передвигаться можно только по дорогам, протяжённость которых указана в таблице.
всё! много !
//Pascal ABC.NET 3.1 сборка 1219
Type
ty=record
valu:integer;
count:integer;
end;
Const
n=3;
Var
ma:array[1..n,1..n] of integer;
tyar:array of ty;
se:set of integer;
i,j,z,k,MaxCount:integer;
begin
randomize;
se:=[];
k:=0;
MaxCount:=integer.MinValue;
writeln('Matrix:');
for i:=1 to n do
begin
for j:=1 to n do
begin
ma[i,j]:=random(-10,10);
write(ma[i,j]:4);
if not(ma[i,j] in se) then
begin
inc(k);
setlength(tyar,k+1);
tyar[k].valu:=ma[i,j];
tyar[k].count:=1;
se:=se+[ma[i,j]];
end
else
for z:=1 to k do {O(n^3) в худшем случае - нормальные люди ненавидят это}
if tyar[z].valu=ma[i,j] then
begin
inc(tyar[z].count);
break;
end;
end;
writeln;
end;
for i:=1 to k do
if MaxCount<tyar[i].count then MaxCount:=tyar[i].count;
writeln('Res:');
for i:=1 to k do if tyar[i].count=MaxCount then writeln(tyar[i].valu);
end.
Пример работы программы:
Matrix:
-7 -2 10
8 0 -2
6 10 1
Res:
-2
10
// PascalABC.NET 3.1, сборка 1250 от 28.05.2016
begin
var m:=ReadInteger('m=');
var c:=MatrixRandom(m,m,10,99);
var d:=new Dictionary<integer,integer>;
for var i:=0 to m-1 do begin
for var j:=0 to m-1 do Print(c[i,j]);
Println;
end;
foreach var e in c do d[e]:=d.Get(e)+1;
var q:=d.OrderByDescending(x->x.Value);
var p:=q.First.Value;
if p=1 then Writeln('Все значения в массиве уникальны')
else begin
var s:=q.TakeWhile(x->x.Value=p).Select(x->x.Key);
Write('Наиболее часто (',p,') ');
if s.Count=1 then begin
Print('встречается значение');
s.Print
end
else begin
Print('встречаются значения:');
s.Println
end
end
end.
Тестовые решения
m= 3
76 34 96
47 99 79
94 33 11
Все значения в массиве уникальны
m= 5
43 19 46 70 51
73 46 50 18 25
19 10 32 83 81
32 46 81 23 84
27 91 84 79 28
Наиболее часто (3) встречается значение 46
m= 10
89 11 84 46 18 68 56 13 28 34
86 25 84 34 51 13 37 41 26 23
33 74 87 21 11 42 61 42 32 65
34 37 47 23 24 20 61 14 93 31
71 27 19 31 81 94 38 87 74 83
19 74 81 28 70 24 23 72 44 76
17 24 80 62 10 58 78 71 19 40
52 33 48 94 51 16 64 65 40 16
13 74 68 48 56 60 56 28 53 99
97 88 69 27 23 57 46 57 31 33
Наиболее часто (4) встречаются значения: 23 74