fominovaVladislav1346
?>

Написать программу на python! определите, сколько обменов сделает алгоритм пузырьковой сортировки по возрастанию для данного массива. входные данные на первой строке дано число n (1 ≤ n ≤ 1000) – количество элементов в массиве. на второй строке – сам массив. гарантируется, что все элементы массива различны и не превышают по модулю 109. выходные данные выведите одно число – количество обменов пузырьковой сортировки.

Информатика

Ответы

deshkina82
Не существует однозначного решения без написания программы. количество перестановок будет от нуля до (n-1)*n/2
Ruzalina_Svetlana1435
Type
  mass = array[1..10, 1..10] of real;

var
  a, b, c: mass;
  n, m, i, j, n1, m1: integer;

procedure MatrA(var a: mass);
var
  i, j: integer;
begin
  for i := 1 to n do
    for j := 1 to m do
    begin
      writeln('a[', i, ',', j, ']: ');
      readln(a[i, j])
    end
end;

procedure MatrB(var b: mass);
var
  i, j: integer;
begin
  for i := 1 to n1 do
    for j := 1 to m1 do
    begin
      writeln('b[', i, ',', j, ']: ');
      readln(b[i, j])
    end
end;

procedure Sum(a, b: mass; var c: mass);
var
  i, j: integer;
begin
  for i := 1 to n do
    for j := 1 to m do
      c[i, j] := a[i, j] + b[i, j];
end;

begin
  writeln('Введите n,m матрицы A');
  readln(n, m);
  MatrA(a);
  writeln('Введите n,m матрицы B');
  readln(n1, m1);
  MatrB(b);
  if (n1 <> n) and (m1 <> m) then
    writeln('Матрицы сложить нельзя')
  else begin
    Sum(a, b, c);
    writeln('A+B');
    for i := 1 to n do
    begin
      for j := 1 to m do
        write(c[i, j]:1:3, ' ');
      writeln
    end
  end;
  readln;
end.
Fruktova Gazaryan
Рассматриваем движение тела, брошенного под углом к горизонту без начального ускорения. Уравнения движения тела в осях координат известны из физики:
\begin {cases} x=v_0t\cdot \cos\alpha \\ \displaystyle y=v_0t\cdot \sin\alpha-\frac{gt^2}{2} \end {cases}
Также известна формула для определения времени движения тела до его падения (т.е. возвращения на исходную высоту, которая совпадает с осью X):
\displaystyle t= \frac{2v_0\sin\alpha}{g}
Считаем, что в начальных условиях задается количество точек, в которых нужно найти значения пути пройденного в осях координат.

uses Crt;
const
   g=9.81;
   pi=3.14;
var
   alpha,ar,v0,t,x,y,tmax,ht,v0x,v0y:real;
   n:integer;
begin
   ClrScr;
   Write('Vvedite alpha, v0: ');
   Read(alpha,v0);
   Write('Chislo tochek= ');
   Read(n);
   ar:=pi*alpha/180;
   v0x:=v0*cos(ar);
   v0y:=v0*sin(ar);
   tmax:=2*v0*sin(ar)/g;
   ht:=tmax/n;
   t:=ht;
   while t<=tmax do
   begin
      x:=v0x*t; y:=v0y*t-g*sqr(t)/2;
      Writeln('t=',t:6:3,' x=',x:8:3,' y=',y:8:3);
      t:=t+ht
   end;
   ReadKey
end.

Тестовое решение:
Vvedite alpha, v0: 45 126.4
Chislo tochek= 10
t= 1.821 x= 162.864 y= 146.461
t= 3.643 x= 325.728 y= 260.375
t= 5.464 x= 488.592 y= 341.742
t= 7.286 x= 651.456 y= 390.562
t= 9.107 x= 814.320 y= 406.836
t=10.929 x= 977.184 y= 390.562
t=12.750 x=1140.048 y= 341.742
t=14.572 x=1302.912 y= 260.375
t=16.393 x=1465.776 y= 146.461
t=18.215 x=1628.640 y=   0.000

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Написать программу на python! определите, сколько обменов сделает алгоритм пузырьковой сортировки по возрастанию для данного массива. входные данные на первой строке дано число n (1 ≤ n ≤ 1000) – количество элементов в массиве. на второй строке – сам массив. гарантируется, что все элементы массива различны и не превышают по модулю 109. выходные данные выведите одно число – количество обменов пузырьковой сортировки.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

ekaterinava90
Li-111
superkiosk249
Vitalevich1187
Anna389
natalia595977
diana-020
smint056950
Magnolia200872
annabanova9
YeVgenii
Вера1072
gameover98
tsigankova2018
denisdenisov63