Написать программу которая решает уравнение - C#
Формулировка задачи:
Нужно написать программу, которая решает уравнение
задано два массива
нужно найти
Помогите пожалста??? здесь самое трудно ето организовать цикл
Решение задачи: «Написать программу которая решает уравнение»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; namespace Convolution { class Convolution { private int[] x; private int[] y; public void Initialization() { x = new[] { 1, 5 }; y = new[] { 5, 4, 3 }; Console.WriteLine("Были введены следующие векторы:\n"); Console.Write("Вектор х:"); foreach (int i in x) Console.Write(i+" "); Console.Write("\nВектор у:"); foreach (int i in y) Console.Write(i+" "); } private int[] DefineConvolution() { bool full=false; int difference = x.Length - y.Length; if (difference < 0) { int[] temp; temp = x; x = y; y = temp; difference = Math.Abs(x.Length - y.Length); } y = y.Reverse().ToArray();//поменять х на у для линейной свёртки List<int> yList = y.ToList(); for (int i = 0; i < difference; i++) yList.Insert(0, 0); y = yList.ToArray(); int[] result=new int[x.Length+y.Length-1]; for (int r = 0; r <result.Length ; r++) { if (r > x.Length - 1) full = true; if (!full) for (int j = 0; j < r + 1; j++) result[r] += x[j] * y[y.Length - 1 - r + j]; else { yList.Insert(0,0); yList.RemoveAt(yList.Count-1); y = yList.ToArray(); result[r] = ArrayMultiplacation(x, y); } } List<int> resultList = new List<int>(); resultList = result.ToList(); resultList.RemoveRange(result.Length - difference, difference); result = resultList.ToArray(); return result; } private int ArrayMultiplacation(int[] a, int[] b) { int sum = 0; for (int i = 0; i < a.Length; i++) { sum+=a[i]*b[i]; } return sum; } public void ShowResult() { Console.WriteLine("\nИх свёртка равна вектору:"); foreach (int i in DefineConvolution()) Console.Write(i+" "); Console.Read(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д