86543949776944
19.11.2020 11:36

Выдвинуть гипотезу если компьютер вылечить от вирусов

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
kolodina10
03.03.2021 05:26
const
  n = 15;

var
  a, b: array[1..n] of integer;
  i, j, step, t: integer;
  flag: boolean;

begin
  Randomize;
  Writeln('Исходные элементы массива');
  for i := 1 to n do
  begin
    a[i] := Random(10) - 5;
    Write(a[i]:4)
  end;
  { Сортируем массив (метод Шелла) }
  step := n div 2;
  while step > 0 do
  begin
    for j := n - step downto 1 do
    begin
      i := j;
      while i <= n - step do
      begin
        if a[i] > a[i + step] then
        begin
          t := a[i]; a[i] := a[i + step]; a[i + step] := t
        end;
        i := i + step
      end
    end;
    step := step div 2
  end;
  {
  проходим по массиву и если элемент встречается более одного раза подряд,
  переносим его в другой массив
  }
  j := 0; t := a[1]; flag := false;
  for i := 2 to n do
  begin
    if (a[i] = t) and (not flag) then
    begin
      j := j + 1; b[j] := t; flag := true
    end
    else begin flag := false; t := a[i] end
  end;
  Writeln;
  Writeln('Отобранные элементы массива');
  for i := 1 to j do Write(b[i]:4);
  Writeln
end.

Тестовое решение:

Исходные элементы массива
  -2   4   1  -3  -1  -2  -5  -1   2   4   1   3  -5  -2  -3
Отобранные элементы массива
  -5  -3  -2  -1   1   4
0,0(0 оценок)
Ответ:
evelgren
27.03.2021 21:02
Const
    auto = true;

var
    a: array[1..100, 1..100]of real;
    b: array[1..100]of real;
    n, m, j, i: integer;
    gmax, min, max: real;

begin
    read(n, m);
    for i := 1 to n do
        for j := 1 to m do
        begin
            if auto then
                a[i, j] := random(100)
            else           
                read(a[i, j]);
               
            if abs(gmax) < abs(a[i, j]) then
                gmax := a[i, j];
        end;
   
    for i := 1 to n do
    begin
        min := a[i, 1] / gmax;
        max := a[i, 1] / gmax;
       
        for j := 1 to m do
        begin
            a[i, j] := a[i, j] / gmax;
            if min > a[i, j] then min := a[i, j];
            if max < a[i, j] then max := a[i, j];
           
            write(a[i, j]:5:2, ' ');
        end;
       
        b[i] := max - min;
        writeln(' => ', b[i]:5:2);
    end;
end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота