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

Пусть с - одномерный массив, состоящий из n элементов, а g квадратная матрица nxn. в необходимо вычислить квадратную матрицу g и вывести значения её элементов на рабочий лист. вот у меня есть код vba, но его надо переделать так что бы длина вектора определялась по количеству элементов массива с: private sub commandbutton1_click() 'определяем переменную, в которой будет храниться размер матрицы dim n as integer 'определяем массив с для исходных данных и массив g 'для результирующей квадратной матрицы dim g() 'задаем значение переменной n, выбирая его из ячейки в4 n = cells(4, 2) 'выделяем память для массивов с и g redim c(1 to n), g(1 to n, 1 to n) 'вводим в массив с значений из ячеек a2: d2 for k = 1 to n c(k) = cells(2, k) next 'проводим расчет элементов матрицы 'по заданной формуле, 'организуя двойной цикл (по строкам и столбцам) for i = 1 to n for j = 1 to n if i < = j then g(i, j) = sin(c(i)) ^ 2 else g(i, j) = c(i - j) + cos(c(i)) end if 'ввод элементов полученной матрицы g в ячейки a7: d10 листа excel cells(i + 5, j) = g(i, j) next j next i end sub sub уекенаер() 'определяем переменную, в которой будет храниться размер матрицы dim n as integer 'определяем массив с для исходных данных и массив g 'для результирующей квадратной матрицы dim g() 'задаем значение переменной n, выбирая его из ячейки в4 a = inputbox("введите количества элементов массива с") activecell.formular1c1 = a n = a 'выделяем память для массивов с и g redim c(1 to n), g(1 to n, 1 to n) 'вводим в массив с значений из ячеек a2: d2 for k = 1 to n c(k) = cells(2, k) next 'проводим расчет элементов матрицы 'по заданной формуле, 'организуя двойной цикл (по строкам и столбцам) for i = 1 to n for j = 1 to n if i < = j then g(i, j) = sin(c(i)) ^ 2 else g(i, j) = c(i - j) + cos(c(i)) end if 'ввод элементов полученной матрицы g в ячейки a7: d10 листа excel cells(i + 5, j) = g(i, j) next j next i end sub

Показать ответ
Ответ:
bratan02
bratan02
26.08.2020 06:41

Объяснение:

Допустим, у нас есть сообщение «habr», которое необходимо передать без ошибок. Для этого сначала нужно наше сообщение закодировать при Кода Хэмминга. Нам необходимо представить его в бинарном виде.На этом этапе стоит определиться с, так называемой, длиной информационного слова, то есть длиной строки из нулей и единиц, которые мы будем кодировать. Допустим, у нас длина слова будет равна 16. Таким образом, нам необходимо разделить наше исходное сообщение («habr») на блоки по 16 бит, которые мы будем потом кодировать отдельно друг от друга. Так как один символ занимает в памяти 8 бит, то в одно кодируемое слово помещается ровно два ASCII символа. Итак, мы получили две бинарные строки по 16 битбит. распараллеливается, и две части сообщения («ha» и «br») кодируются независимо друг от друга. Рассмотрим, как это делается на примере первой части.

Прежде всего, необходимо вставить контрольные биты. Они вставляются в строго определённых местах — это позиции с номерами, равными степеням двойки. В нашем случае (при длине информационного слова в 16 бит) это будут позиции 1, 2, 4, 8, 16. Соответственно, у нас получилось 5 контрольных бит (выделены красным цветом)Таким образом, длина всего сообщения увеличилась на 5 бит. До вычисления самих контрольных бит, мы присвоили им значение «0».

0,0(0 оценок)
Ответ:
ifreemadozzlqu
ifreemadozzlqu
27.07.2020 07:23
Program Project1;

var m:array [0..14] of integer; i:integer;

function IsPositive(a:integer):boolean;
begin
  result:=(a>-1);
end;

procedure work;
var min, max, count:integer;
begin
  count:=0;
  min:=m[0];
  max:=0;
  for i:=0 to 14 do begin
    if IsPositive(m[i]) then begin
      inc(count);
      if m[i]>max then max:=m[i];
      if m[i]<min then min:=m[i];
    end;
  end;
  writeln('MAX: ', max);
  writeln('MIN: ', min);
  writeln('Count: ', count);
end;

begin
  for i:=0 to 14 do begin
    write('n: ');
    readln(m[i]);
  end;

  work;

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