В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
влад2314
влад2314
18.08.2020 18:14 •  Информатика

вроде легко но не могу сделать​


вроде легко но не могу сделать​

Показать ответ
Ответ:
ринат127
ринат127
23.04.2021 22:45
Const
  nm = 100;

type
  Mas = array[1..nm] of integer;

procedure Shell(var a: Mas; n: integer);
{ сортировка методом Шелла }
var
  i, j, step, t: integer;

begin
  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 + 1];
          a[i + 1] := t
        end;
        i := i + step
      end
    end;
    step := step div 2
  end
end;

var
  x: Mas;
  i, n: integer;

begin
  Randomize;
  Write('Введите число элементов в массиве (1-100): ');
  Readln(n);
  Writeln('Исходный массив');
  for i := 1 to n do
  begin
    x[i] := Random(101) - 50;
    Write(x[i]:4)
  end;
  Shell(x, n);
  Writeln(#13#10, 'Отсортированный массив');
  for i := 1 to n do Write(x[i]:4)
end.

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

Введите число элементов в массиве (1-100): 20
Исходный массив
  -8 -17 -19   1  -3  23 -33  30 -27 -45  12  26 -24  18  37   8  47 -14 -19  -3
Отсортированный массив
 -45 -33 -27 -24 -19 -19 -17 -14  -8  -3  -3   1   8  12  18  23  26  30  37  47
0,0(0 оценок)
Ответ:
Nastyacat200809
Nastyacat200809
14.02.2022 19:40

Ну это не совсем  тривиальное действие

Если при переводе целых чисел мы при переводе из 10-й системы при переводе в другую делим на основание системы перевода , то с дробями мы совершаем обратные действия мы УМНОЖАЕМ  на основание системы счисления в которую переводим на 2 , 8 или 16, потом при произведении целая часть отбрасывается и переводится в цифру той сиситемы в которую переводим и сноваа умножаем дробную часть на основанине,до тех пор пока в дроби не получится 0 или так и будет бесконечная дробь

3. 0.0625 в 16 ричную сисстему

0.0625*16=1 целая часть 1 дробная 0 получаем что 0.0625 (10)=0.1 (16)

2. 0.0625 в 8 ричную

0.0625  * 8= 0.5 получается целая 0 дробная 5 - целую пишем как главную после запятой а 0.5 снова умножаем на 8 0.5*8=4 целая 4 дробная 0

0.0625 (10)=0.04 (8)

1. 0.025 в 2 чную

0.025*2=0.05 целая 0 дробная 05 снова дробную на 2 0.05*2= 0.1 целая 0 дробная 1 умножаем на 2 0.1*2= 0.2 целая 0 дробь 2 0.2*2=0.4 целая 0 дробь 4 0ю4*2=0.8 цлая 0 дробь 8 0.8*2=1.6 целая 1 дробь 6 0.6*2=1.2 целая 1 дробь 2 и получается что с этого места начинается периодическая дробь так как 0.2 мы уже раньше видели итак

0.025 (10)= 0.0000011001100110 (2)= 0.0000(0110) (2)

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