М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации

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

👇
Ответ:
Юли009
Юли009
05.12.2020
Не существует однозначного решения без написания программы. количество перестановок будет от нуля до (n-1)*n/2
4,6(17 оценок)
Открыть все ответы
Ответ:
ntaskaeva2
ntaskaeva2
05.12.2020
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.
4,7(39 оценок)
Ответ:
KAKAKALYYA12
KAKAKALYYA12
05.12.2020
Рассматриваем движение тела, брошенного под углом к горизонту без начального ускорения. Уравнения движения тела в осях координат известны из физики:
\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
4,8(7 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ