Создания своего класса с использованием типа даных List - C#
Формулировка задачи:
Добрый день! Возник такой вопрос. Написал класс на оcнове данных List, вызывая дальше этот класс он выдает какую то ересь, даже проверка выходного списка на размерность выдаёт 0.
Есть подозрения что неправильно написано уже возвращение результат return masF.
private static List<double> FIR_lowpass(List<double> x) { const string fileFromReadKoeff = (@"D:\Diplom\koef_filter.txt"); var massiveStringKoeff = System.IO.File.ReadAllText(fileFromReadKoeff).Split(' '); //==========Формируем масив числовых данных int numberOfElementsKoeff = massiveStringKoeff.Length; var massiveIntegerKoeff = new double[numberOfElementsKoeff]; for (int i = 0; i <= numberOfElementsKoeff - 1; ++i) { if (!Double.TryParse(massiveStringKoeff[i], out massiveIntegerKoeff[i])) massiveIntegerKoeff[i] = massiveIntegerKoeff[i - 1]; else massiveIntegerKoeff[i] = Double.Parse(massiveStringKoeff[i]); } var masF = new List<double>(); for (int i = 0; i < masF.Count; i++) { int index = 0; for (int j = i; j > i - numberOfElementsKoeff; --j) { if (i < 0 || j < 0 || index < 0 || index >= massiveIntegerKoeff.Length) break; masF[i] += x[j] * massiveIntegerKoeff[index]; index++; } } return masF; }
Решение задачи: «Создания своего класса с использованием типа даных List»
textual
Листинг программы
private static double[] FIR_lowpass(List<double> x) { const string fileFromReadKoeff = (@"D:\Diplom\koef_filter.txt"); var massiveStringKoeff = System.IO.File.ReadAllText(fileFromReadKoeff).Split(' '); //==========Формируем масив числовых данных int numberOfElementsKoeff = massiveStringKoeff.Length; var massiveIntegerKoeff = new double[numberOfElementsKoeff]; for (int i = 0; i <= numberOfElementsKoeff - 1; ++i) { if (!Double.TryParse(massiveStringKoeff[i], out massiveIntegerKoeff[i])) massiveIntegerKoeff[i] = massiveIntegerKoeff[i - 1]; else massiveIntegerKoeff[i] = Double.Parse(massiveStringKoeff[i]); } var masF = new doble[x.Count]; for (int i = 0; i < masF.Count; i++) { int index = 0; for (int j = i; j > i - numberOfElementsKoeff; --j) { if (i < 0 || j < 0 || index < 0 || index >= massiveIntegerKoeff.Length) break; masF[i] += x[j] * massiveIntegerKoeff[index]; index++; } } return masF; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д