Создания своего класса с использованием типа даных List - C#

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

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

Добрый день! Возник такой вопрос. Написал класс на оcнове данных List, вызывая дальше этот класс он выдает какую то ересь, даже проверка выходного списка на размерность выдаёт 0.
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;
        }
Есть подозрения что неправильно написано уже возвращение результат 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;
        }

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


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

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

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