
8 Билет
Вывести на экран список «счастливых билетов». Найти вероятность того, что в общественном транспорте попадется «счастливый билет». «Счастливым билетом» считать билет, сумма первых трех цифр которого равна сумме последних трех.
uses crt;
var i,k:longint;v:real;
begin
clrscr;
k:=0;
for i:=100000 to 999999 do
if i div 100000+i div 10000 mod 10+i div 1000 mod 10=i div 100 mod 10+i div 10 mod 10+i mod 10 then
begin
writeln(i);
k:=k+1;
end;
v:=100*k/900000;
write('veroyatnost ravha ',v:2:0,'%');
readln;
end.
Дана матрица NxM. Переставляя ее строки и столбцы, переместить наибольший элемент в верхний левый угол. Определить можно ли таким же образом поместить минимальный элемент в нижний правый угол.
uses crt;
const m=7; n=4; var a:array[1..m,1..n] of real; i,j,imx,jmx:byte; x:real;
begin
writeln('Исходная матрица:');
for i:=1 to m do
begin
for j:=1 to n do
begin
a[i,j]:=10*random;
write(a[i,j]:6:2);
end;
writeln;
end;
writeln;
imx:=1;jmx:=1;
for i:=1 to m do
for j:=1 to n do
if a[i,j]>a[imx,jmx] then
begin
imx:=i;
jmx:=j;;
end;
writeln('Максимальный элемент a[',imx,',',jmx,']=',a[imx,jmx]:0:2);
{перестановка строк}
if imx>1 then{если строка не первая}
begin
for i:=imx downto 2 do{от нее до строки 2}
for j:=1 to n do
begin
x:=a[i,j];
a[i,j]:=a[i-1,j];{меняем эеиенты соседних строк}
a[i-1,j]:=x;
end;
end;
{также перестановка столбцов}
if jmx>1 then
begin
for j:=jmx downto 2 do
for i:=1 to m do
begin
x:=a[i,j];
a[i,j]:=a[i,j-1];
a[i,j-1]:=x;
end;
end;
writeln;
writeln('Перестановка максимального в ячейку [1,1]:');
writeln;
for i:=1 to m do
begin
for j:=1 to n do
write(a[i,j]:5:2);
writeln;
end;
readln
end.
9 Билет
Даны n-троек a,b,c. Можно ли построить треугольник с данными сторонами и если да, то вычислить его площадь и определить его тип (равнобедренный, равносторонний, разносторонний).
uses crt;
var a,b,c,i,n:integer; s:real;
procedure t(k,l,m:integer;var s1:real);
var p:real;
begin
if (k+l>m)and(k+m>l)and(m+l>k)then
begin
p:=(k+l+m)/2;
s1:=sqrt(p*(p-k)*(p-l)*(p-m));
if (k=l)and(k=m)then write('treugolnik ravnostoronnii, s=',s1)else
if(k=l)or(k=m)or(l=m)then write('treugolnik ravnobedrennii, s=',s1)else
write('treugolnik raznostoronnii, s=',s1);
end else begin s1:=0; write('treugolnik ne su6estvuet');end;
end;
begin
clrscr;
readln(n);
for i:=1 to n do begin
readln(a,b,c);
t(a,b,c,s);
end;
readln;
end.
Элемент двухмерного массива называется локальным минимумом, если он строго меньше всех имеющихся у него соседей. Подсчитать количество локальных минимумов заданной матрицы размером NxN найти максимум среди всех локальных минимумов.
var a:array [1..6,1..6]of Integer;i,j,max,k:Integer;
b:array[1..10]of Integer;
f:TextFile;
begin
AssignFile(f,'1.txt');
Rewrite(f); k:=0;
Randomize;
for j:=1 to 6 do
a[1,j]:=10;
for i:=2 to 6 do
a[i,1]:=10;
for i:=2 to 5 do
a[i,6]:=10;
for j:=2 to 5 do
a[6,j]:=10;
for i:=2 to 5 do
begin
for j:=2 to 5 do
begin
a[i,j]:=Random(15)-5;
write(f,a[i,j],' ');
end;
Writeln(f);
end;
Writeln(f);
for i:=2 to 5 do
for j:=2 to 5 do
if (a[i,j]<a[i-1,j])and (a[i,j]<a[i,j-1])and (a[i,j]<a[i+1,j])and (a[i,j]<a[i,j+1]) then
begin
k:=k+1;
b[k]:=a[i,j];
Writeln(f,b[k],' ');
end;
max:=b[1];
for k:=1 to k do
if b[k]>max then max:=b[k];
Writeln(f,max,' ',k);
Closefile(f);
end;