Может ли кто - нибудь помочь мне с этой проблемой
using System; using System.IO; namespace ProfitCalculator { /// ============================================================================== public class RangeFinder { /// <summary> /// Performs calculations to find the start and end of the "best" data sequence /// which has the greatest sum of data values over that sequence. /// /// <param name="data">the data to be examined /// <param name="bestStart">the start point found by the search /// <param name="bestEnd">the end point found by the search /// <param name="bestTotal">the sum of data values over that range /// <param name="loops">the number of executions of the inner loop public static void MaxSum1(double[] data, out int bestStart, out int bestEnd, out double bestTotal, out int loops) { bestTotal = 0; bestStart = 0; bestEnd = 0; loops = 0; for (int i = 0; i < data.Length; i++) { Console.WriteLine("Value {0}", data[i]); } } public static void MaxSum2(double[] data, out int bestStart, out int bestEnd, out double bestTotal, out int loops) { bestTotal = 0; bestStart = 0; bestEnd = 0; loops = 0; } public static void MaxSum3(double[] data, out int bestStart, out int bestEnd, out double bestTotal, out int loops) { bestTotal = 0; bestStart = 0; bestEnd = 0; loops = 0; } /// ============================================================================== /// <summary> /// Tests the Profits Calculator /// class Test { /// <summary> /// The main entry point for the application. /// static void Main() { double[] data; int bestStart, bestEnd; double bestTotal; int loops; /// name of the file and the number of readings string filename = "week52.txt"; int items = 52; data = new double[items]; /// create the data array try { TextReader textIn = new StreamReader(filename); for (int i = 0; i < items; i++) /// input and store the data values { string line = textIn.ReadLine(); data[i] = double.Parse(line); } textIn.Close(); } catch { Console.WriteLine("File Read Failed"); return; } /// --------------------------------------------------------------------- /// call the process method to find the best profit period /// --------------------------------------------------------------------- RangeFinder.MaxSum1( data, out bestStart, out bestEnd, out bestTotal, out loops); Console.WriteLine("Start : {0} End : {1} Total {2} Loops {3}", bestStart, bestEnd, bestTotal, loops); RangeFinder.MaxSum2( data, out bestStart, out bestEnd, out bestTotal, out loops); Console.WriteLine("Start : {0} End : {1} Total {2} Loops {3}", bestStart, bestEnd, bestTotal, loops); RangeFinder.MaxSum3( data, out bestStart, out bestEnd, out bestTotal, out loops); Console.WriteLine("Start : {0} End : {1} Total {2} Loops {3}", bestStart, bestEnd, bestTotal, loops);
вопрос в том как расшифровать этот следующий псевдокод:
Для каждой возможной начальной позиции // каждый индекс массива в свою очередь
Для каждой возможной конечной позиции // остальная часть массива от текущего старта
{ Установить промежуточный итог равным 0 для каждого значения в subseq // между текущим началом и концом добавить значение прибыли к промежуточному итогу
Обновление информации о подсекторе, когда промежуточный итог превышает текущий лучший итог
}
Первоначально вы можете игнорировать переменную loops, показанную в качестве выходного параметра метода MaxSum, и просто сосредоточиться на создании программы, которая возвращает значения bestStart, bestEnd и bestTotal. Обратите внимание, что вы можете использовать свойство Length массива данных, чтобы определить его размер
я изо всех сил пытаюсь понять или расшифровать это может ли кто нибудь помочь
Что я уже пробовал:
{
bestTotal = 0;
bestStart = 0;
bestEnd = 0;
петель = 0;
для
(int i = 0; i < data.Длина; i++)
{
Приставка.WriteLine("Value {0}", data[i]);
}
}
Patrice T
Похоже, что это требование не является полным.
Можете ли вы опубликовать его и связать, если он приходит с такого сайта, как codechef.
Patrice T
Воспользуйся Улучшить вопрос чтобы обновить ваш вопрос.
Чтобы каждый мог обратить внимание на эту информацию.
Вам также необходимо выполнить это требование