Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ekzamenzadachi_po_dve_reshennye11B.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
43.43 Кб
Скачать

8 Билет

  1. Вывести на экран список «счастливых билетов». Найти вероятность того, что в общественном транспорте попадется «счастливый билет». «Счастливым билетом» считать билет, сумма первых трех цифр которого равна сумме последних трех.

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.

  1. Дана матрица 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 Билет

  1. Даны 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.

  1. Элемент двухмерного массива называется локальным минимумом, если он строго меньше всех имеющихся у него соседей. Подсчитать количество локальных минимумов заданной матрицы размером 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;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]