Вычислить скалярное произведение p двух векторов x, y - C (СИ)

Узнай цену своей работы

Формулировка задачи:

(p=x1*y1+x2*y2+...+xn*yn) не используя массивы.С использованием в программе указателей

Решение задачи: «Вычислить скалярное произведение p двух векторов x, y»

textual
Листинг программы
 double x[n], y[n], *px, *py, p;
 px = x; py = y;
 for(p=0, i=0; i < n; px++, py++) p += *px * *py;

Объяснение кода листинга программы

В данном коде происходит вычисление скалярного произведения двух векторов x и y.

  1. Создаются три переменные:
    • double x[n] - массив для хранения первого вектора;
    • double y[n] - массив для хранения второго вектора;
    • double p - переменная для хранения суммы элементов скалярного произведения.
  2. Указатели px и py инициализируются значениями адресов первого и второго векторов соответственно.
  3. Запускается цикл for, который выполняется n раз (по количеству элементов в векторах). В каждой итерации выполняется следующее:
    • i увеличивается на 1;
    • p увеличивается на произведение значений текущих элементов векторов, на которые указывают px и py (значение каждого элемента вектора равно его индексу в массиве);
    • px и py сдвигаются на следующий элемент массива (увеличивается их значение на 1). Таким образом, после выполнения цикла в переменной p будет храниться скалярное произведение векторов x и y.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.364 из 5
Похожие ответы