Дан одномерный массив, сформировать из него двухмерный отсортированный змейкой: начиная с правого нижнего угла вертикально. pascal abc вот код, только здесь выводится с левого угла, а мне нужно с правого: uses crt; var a: array [1..25] of integer; ar: array [1..25,1..25] of integer; i,n,s,j,x: integer; b: real; l: boolean; begin write('n='); readln(n); writeln('заполните массив: '); for i: =1 to n do readln(a[i]); for i: =1 to n do for j: =i+1 to n do if a[i]> a[j] then begin x: =a[i]; a[i]: =a[j]; a[j]: =x; end; s: =1; writeln('отсортированный массив: '); for i: =1 to n do write(a[i], ' '); writeln; b: =sqrt(n); n: =round(b); writeln('двумерный массив: '); for j: =1 to n do begin for i: =1 to n do begin ar[i,j]: =s; if (j mod 2 = 0) and (i< > n) then dec(s) else inc(s); end; s: =s+n-1; end; for i: =n downto 1 do begin for j: =1 to n do write(ar[i,j]); writeln; end; end.
243
326
Ответы на вопрос:
Uses crt; var a: array [1..25] of integer; ar: array [1..5, 1..5] of integer; i, j, k, n, m, x: integer; begin write('n='); readln(n); writeln('заполните массив: '); for i : = 1 to n do read(a[i]); for i : = 1 to n do for j : = i + 1 to n do if a[i] > a[j] then begin x : = a[i]; a[i] : = a[j]; a[j] : = x; end; writeln('отсортированный массив: '); for i : = 1 to n do write(a[i], ' '); writeln; n : = floor(sqrt(n)); m : = sqr(n); writeln('двумерный массив: '); for k : = 1 to m do begin x : = (k - 1) div n; j : = n - x; if x mod 2 = 0 then i : = n * (x + 1) + 1 - k else i : = k - n * x; ar[i, j] : = a[k] end; for i : = 1 to n do begin for j : = 1 to n do write(ar[i, j]: 4); writeln end end. тестовое решение: n=16 заполните массив: 1 3 5 7 9 11 13 15 2 4 6 8 10 12 14 16 отсортированный массив: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 двумерный массив: 13 12 5 4 14 11 6 3 15 10 7 2 16 9 8 1 n=25 заполните массив: 1 3 5 7 9 11 2 4 6 8 10 12 14 13 16 17 15 20 18 19 23 25 22 21 24 отсортированный массив: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 двумерный массив: 25 16 15 6 5 24 17 14 7 4 23 18 13 8 3 22 19 12 9 2 21 20 11 10 1
Монетка при падении подает на одну из двух сторон. Попробуем обозначить одну из сторон 0, другую 1. Теперь если записать историю бросков такими символами мы получим сразу кодировку в двоичном коде. Например:
0111010101000100
При том каждый байт содержит максимальное количество информации, так-как в них нет закономерностей. По этому их нельзя сжать сильнее. Из этого следует что этот объем занимает чистая информация, как написано в условии задачи.
Итак, 1 бросок записывается в одном бите. Значит 16 бит нужно для сохранения истории бросков. Переведём биты в байты: 16 бит = 2 байта
ответ: 2 байта
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
Doktor7716.08.2022 05:39
-
tanakovalizka108.12.2022 12:32
-
кек94624.04.2022 02:14
-
palieva6914.09.2020 00:51
-
katerinaderiiu21.07.2020 11:38
-
lowrentij12.11.2021 13:11
-
Nastromanova15.04.2021 16:24
-
gulitenko28.02.2020 20:37
-
ladykrisMi26.09.2022 07:51
-
tkalichzhenya02.11.2021 07:57
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.