Как найти произведение двух массивов

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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
uses crt;
const nmax=20;
type mas=array[1..nmax,1..nmax] of integer;
procedure Vvod(var a:mas;x,y:byte;c:char);
var i,j:byte;
begin
writeln('Матрица ',c);
for i:=1 to x do
 begin
  for j:=1 to y do
   begin
    a[i,j]:=random(10)+1;
    write(a[i,j]:3);
   end;
  writeln;
 end;
writeln;
end;
procedure Umn(a,b:mas;x,y:byte;var c:mas);
var i,j,p:byte;
begin
for p:=1 to x do
for j:=1 to x do
   begin
     c[p,j]:=0;
     for i:=1 to y do
       begin
         c[p,j]:=c[p,j]+a[p,i]*b[i,j];
       end;
   end;
writeln('Матрица C=A*B:');
for i:=1 to x do
 begin
  for j:=1 to x do
  write(c[i,j]:6);
  writeln;
 end;
end;
var a,b,c:mas;
    n,m:byte;
begin
randomize;
repeat
write('Количество строк матрицы А до ',nmax,' n=');
readln(n);
until n in [1..nmax];
repeat
write('Количество столбцов матрицы А до ',nmax,' m=');
readln(m);
until m in [1..nmax];
Vvod(a,n,m,'A');
Vvod(b,m,n,'B');
Umn(a,b,n,m,c);
end.

Не знаю зачем, но можно так:

const productAndSub = (arr1, arr2) => 
  arr1.reduce((a, b) => {return a * b}, 1) - 
  arr2.reduce((a, b) => {return a * b}, 1);
  
console.log(productAndSub([1, 2, 3], [-1, -2, -3]));

UPD: Исключительно для Алексея Шиманского :) реально в одну строку:

const productAndSub = (arr1, arr2) => arr1.reduce((a, b) => {return a * b}, 1) - arr2.reduce((a, b) => {return a * b}, 1);

UPD 2: Исключительно для Алексея Шиманского :) minify + uglify (воспользовался этим сервисом):

const productAndSub=(c,d)=>c.reduce((c,d)=>c*d,1)-d.reduce((c,d)=>c*d,1);

Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Excel Starter 2010 Еще…Меньше

Функция МУМНОТ возвращает матричное произведение двух массивов. Результатом является массив с таким же числом строк, что и массив1, и с таким же числом столбцов, что и массив2.

Примечание: Если у вас установлена текущая версия Microsoft 365, можно просто ввести формулу в верхней левой ячейке диапазона вывода и нажать клавишу ВВОД, чтобы подтвердить использование формулы динамического массива. Иначе формулу необходимо вводить с использованием прежней версии массива, выбрав диапазон вывода, введя формулу в левой верхней ячейке диапазона и нажав клавиши CTRL+SHIFT+ВВОД для подтверждения. Excel автоматически вставляет фигурные скобки в начале и конце формулы. Дополнительные сведения о формулах массива см. в статье Использование формул массива: рекомендации и примеры.

Синтаксис

МУМНОЖ(массив1; массив2)

Аргументы функции МУМНОЖ описаны ниже.

  • массив1, массив2    Обязательный. Перемножаемые массивы.

Замечания

  • Число столбцов в массиве1 должно быть таким же, как число строк в массиве «массив2», и оба массива должны содержать только числа.

  • Массив1 и массив2 могут быть заданы как диапазоны ячеев, константы массива или ссылки.

  • Функция МУМНОЖ возвращает значение ошибки #ЗНАЧ! в следующих случаях, указанных ниже.

    • Если какая-либо ячейка пуста или содержит текст.

    • Число столбцов в массиве1 отличается от числа строк в массиве «массив2».

  • Массив a, который является произведением двух массивов b и c, определяется следующим образом:

    Уравнение

    где i — номер строки, а j — номер столбца.

Примеры

Пример 1

Функция МУМНОЖ — пример 1

Пример 2

Функция МУМНОЖ — пример 2

Чтобы указанные выше формулы вычислялись правильно, нужно вводить их в виде формул массивов. После ввода формулы нажмите ввод, если у вас есть текущая Microsoft 365 подписка. в противном случае нажмите CTRL+SHIFT+ВВОД. Если формула не будет введена как формула массива, возвращается единственный результат.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.

uses crt;
const nmax=20;
type mas=array[1..nmax,1..nmax] of integer;
procedure Vvod(var a:mas;x,y:byte;c:char);
var i,j:byte;
begin
writeln('Матрица ',c);
for i:=1 to x do
 begin
  for j:=1 to y do
   begin
    a[i,j]:=random(10)+1;
    write(a[i,j]:3);
   end;
  writeln;
 end;
writeln;
end;
procedure Umn(a,b:mas;x,y:byte;var c:mas);
var i,j,p:byte;
begin
for p:=1 to x do
for j:=1 to x do
   begin
     c[p,j]:=0;
     for i:=1 to y do
       begin
         c[p,j]:=c[p,j]+a[p,i]*b[i,j];
       end;
   end;
writeln('Матрица C=A*B:');
for i:=1 to x do
 begin
  for j:=1 to x do
  write(c[i,j]:6);
  writeln;
 end;
end;
var a,b,c:mas;
    n,m:byte;
begin
randomize;
repeat
write('Количество строк матрицы А до ',nmax,' n=');
readln(n);
until n in [1..nmax];
repeat
write('Количество столбцов матрицы А до ',nmax,' m=');
readln(m);
until m in [1..nmax];
Vvod(a,n,m,'A');
Vvod(b,m,n,'B');
Umn(a,b,n,m,c);
end.

Умножайте аргументы по элементам.

Parameters
x1, x2array_like

Входные массивы для умножения. Если x1.shape != x2.shape , они должны транслироваться в общую форму (которая становится формой вывода).

out ndarray, None или кортеж из ndarray и None, необязательно

Место,в которое сохраняется результат.Если предоставлено,оно должно иметь форму,на которую транслируются входы.Если не указано или None,возвращается свежераспределенный массив.Кортеж (возможен только как аргумент ключевого слова)должен иметь длину,равную количеству выходов.

wherearray_like, optional

Это условие транслируется по входу. В местах, где условие истинно, массив out будет установлен на результат ufunc. В другом out массив out сохранит свое исходное значение. Обратите внимание , что если инициализирован out массива создается по умолчанию out=None , места в нем , где условие ложно будет оставаться инициализирован.

**kwargs

Для других аргументов, содержащих только ключевые слова, см. Документацию ufunc .

Returns
yndarray

Произведение x1 и x2 поэлементно. Это скаляр, если и x1 , и x2 являются скалярами.

Notes

Эквивалентно x1 * x2 с точки зрения широковещательной передачи массива.

Examples

>>> np.multiply(2.0, 4.0)
8.0
>>> x1 = np.arange(9.0).reshape((3, 3))
>>> x2 = np.arange(3.0)
>>> np.multiply(x1, x2)
array([[  0.,   1.,   4.],
       [  0.,   4.,  10.],
       [  0.,   7.,  16.]])

Оператор * может использоваться как сокращение для np.multiply в ndarrays.

>>> x1 = np.arange(9.0).reshape((3, 3))
>>> x2 = np.arange(3.0)
>>> x1 * x2
array([[  0.,   1.,   4.],
       [  0.,   4.,  10.],
       [  0.,   7.,  16.]])

Понравилась статья? Поделить с друзьями:
  • Как найти anydesk в сети
  • Как можно найти азот
  • Как составить мотивацию для менеджера по продажам
  • Пмж в россии как найти работу
  • Как найти разность квадратов двух чисел