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