C# задача с использованием процедуры. заданы два ветора x и y......
Формулировка задачи:
Заданы два вектора х = (x1, x2, x3, x4), y = (y1, y2, y3, y4). Определить угол a между векторами x и y по формуле:
Вычисление скалярного произведения оформить в виде процедуры.
(в моем коде мало чего верного)
static void enter(out int[] x,out int[] y) { x = new int[4]; for (int i = 0; i <= 3; i++) { Console.Write("x [{0}]=", i); x[i] = Convert.ToInt32(Console.ReadLine()); Console.Write("{0,3}", x[i]); Console.Write(x[i]); } y = new int[4]; for (int j = 0; j <= 3; j++) { Console.Write("y [{0}]=", j); x[j] = Convert.ToInt32(Console.ReadLine()); Console.Write("{0,3}", y[j]); Console.Write(x[j]); } } static void process(ref int[]x,ref int[] y) { double a,b,c,d; b=x[0]*y[0]+x[1]*y[1]+x[2]*y[2]+x[3]*y[3]; //x*y c=x[0]*x[0]+x[1]*x[1]+x[2]*x[2]+x[3]*x[3];//x*x d=y[0]*y[0]+y[1]*y[1]+y[2]*y[2]+y[3]*y[3];//y*y a = Math.Acos(b/(Math.Sqrt(c*d))); Console.Write("{0}", a); } static void Main(string[] args) { int[] x; int[] y ; enter(out x, out y); process(ref x, ref y); Console.ReadKey();
Решение задачи: «C# задача с использованием процедуры. заданы два ветора x и y......»
textual
Листинг программы
static double DotProduct(double[] v1, double v2){ double result = 0; for(int i = 0; i<v1.Length; i++){ result+=v1[i]*v2[i]; } return result; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д