kulvera75
16.05.2022 15:40

Какое количество информации содержит сообщение о том, что нужная для подготовки к экзамену книга в одном из двух шкафов на 5 полке (всего 8 полок)?

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Sonya121s
15.03.2022 01:55
Алгоритм сортировки строки массива по возрастанию методом прямого выбора может быть представлен так:
1. Просматривая строку массива от первого элемента, найти минимальный элемент и поместить его на место первого элемента, а первый — на место минимального.
2. Просматривая строку массива от второго элемента, найти минимальный элемент и поместить его на место второго элемента, а второй — на место минимального.
3. И так далее до предпоследнего элемента.

Решение:

//Pascal
const
  n = 7;

var
  a: array[1..n, 1..n] of integer;
  i, j, min, ind: integer;

//Заполнение массива сл. числами и вывод на экран
begin
  for i := 1 to n do
  begin
    for j := 1 to n do
    begin
      a[i, j] := random(100);
      write(a[i, j]:4);
    end;
    writeln;
  end;
 
  //Сортировка строки матрицы прямым выбором
 
  for i := 1 to n - 1 do
  begin
    min := a[4, i];
    ind := i;
    for j := i + 1 to n do
      if a[4, j] < min then
      begin
        min := a[4, j];
        ind := j;
      end;
    a[4, ind] := a[4, i];
    a[4, i] := min;
  end;
  writeln;
 
    //вывод отсортированной строки
  for j := 1 to n do
  begin
    write(a[4, j]:4);
  end;
end.
0,0(0 оценок)
Ответ:
kotorosmax1
11.11.2021 03:48

int RowWithMax(double m[n][n], int j)

{

   double max_el = m[j][j];

   int max_i = j;

   for (int i = j; i < n; i++)

   {

       if (abs(m[i][j]) > abs(max_el))

       {

           max_el = m[i][j];

           max_i = i;

       }

   }

   return max_i;

}

 

void RowChange(double m[n][n], double f[n], int i1, int i2)

{

   for (int j = 0; j < n; j++)

   {

       /*m[i1][j] = m[i1][j] + m[i2][j];

       m[i2][j] = m[i1][j] - m[i2][j];

       m[i1][j] = m[i1][j] - m[i2][j];*/

       swap(m[i1][j], m[i2][j]);

   }

   

   swap(f[i1], f[i2]);

}

 

double StraightRun(double m[n][n], double f[n], int i) //прямой метод

{

   double el;

   double det = 1;

   int reverse = 0;

 

   int max_i = RowWithMax(m, i);

   if (i != max_i)

   {

       RowChange(m, f, i, max_i);

       //reverse++;

       det *= (-1);

   }

   el = m[i][i];

   det *= el;

   f[i] /= el;

   for (int i1 = n - 1; i1 >= i; i1--)

   {

       m[i][i1] /= el;

   }

   for (int i2 = i + 1; i2 < n; i2++)

   {

       el = m[i2][i];

       f[i2] -= f[i] * el;

       for (int j = n - 1; j >= i; j--)

       {

           m[i2][j] -= el * m[i][j];

       }

   }

 

 

   return det/**pow(-1, reverse)*/;

 

}

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота