sedalex
?>

Всоревнованиях по ориентированию участвуют 768 спортсменов. специальное устройство регистрирует финиш каждого из участников, записывая его номер с использованием минимально возможного количества битов, одинакового для каждого спортсмена. каков будет информационный объём сообщения (в байтах), записанного устройством, после того как финишируют 200 спортсменов?

Информатика

Ответы

Adabir20156806
Для записи информации об одном спортсмене требуется log(2)768 ≈ 10 бит.
Объем сообщения о финише 200 спортсменов = 200*10 бит = 2000/8 байт = 250 байт
alexandergulyamov
#include <iostream>
using namespace std;
int main() {
        int mat[3][3];
        int k;
        int size=0;
        int * arr=0;
        for(int i=0;i<3;i++){
                for(int j=0;j<3;j++){
                       cin>>mat[i][j];
                          if (mat[i][j]>0){
                             arr=(int*)realloc(arr,sizeof(int)*(++size));
                             arr[size-1]=mat[i][j];
                                             }
                                           }
                                    }
                  for(int i=0;i<size;i++){
                  cout<<arr[i];
                  }
               delete arr;
               cin.get();
               cin.get();
              return 0;
}
dzo-dzo
//PascalABC.Net 3.0, сборка 1064
const
  nn=50;
var
  a:array[1..nn] of integer;
  i,n,imin:integer;
begin
  Write('Введите количество элементов в массиве: '); Read(n);
  Randomize;
  Writeln('Исходный массив');
  imin:=1;
  for i:=1 to n do begin
    a[i]:=Random(51)-25;
    Write(a[i],' ');
    if a[i]<a[imin] then imin:=i;
  end;
  Writeln;
  for i:=imin to n-1 do a[i]:=a[i+1];
  Writeln('Массив-результат');
  for i:=1 to n-1 do Write(a[i],' '); Writeln
end.

Тестовое решение:
Введите количество элементов в массиве: 15
Исходный массив
17 -3 22 18 -13 -5 5 -15 -18 23 17 -2 -20 23 2
Массив-результат
17 -3 22 18 -13 -5 5 -15 -18 23 17 -2 23 2

А это версия для тех, кто думает, что Паскалю пора давно "на свалку":
//PascalABC.Net 3.0, сборка 1064
begin
  var n:=ReadInteger('Введите количество элементов в массиве');
  var a:=SeqRandom(n,-25,25).ToArray();
  Writeln('Исходный массив:',#13#10,a);
  Writeln('Результат:',#13#10,a.Where(x->x<>a.Min));
end.

Тестовое решение:
Введите количество элементов в массиве 15
Исходный массив:
[-10,-15,8,-19,9,21,-22,-11,12,14,2,19,-25,-5,-15]
Результат:
[-10,-15,8,-19,9,21,-22,-11,12,14,2,19,-5,-15]

Можно сравнить понятность кода и его размер как со "школьным" решением, так и с программой на Java, приведенной в предыдущем ответе.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Всоревнованиях по ориентированию участвуют 768 спортсменов. специальное устройство регистрирует финиш каждого из участников, записывая его номер с использованием минимально возможного количества битов, одинакового для каждого спортсмена. каков будет информационный объём сообщения (в байтах), записанного устройством, после того как финишируют 200 спортсменов?
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

informalla
chapaevval
Ivanovich_Kostik898
Igor120
myxa120283
mirsanm26249
v79150101401
northwest7745
departed744
kate281078
siger06297
Linichuk
sgritsaev
svt5299
nataljatchetvertnova