Advertisement
Guest User

tariffCalc demo

a guest
May 25th, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.22 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace TestConsoleApplication
  7. {
  8.     class Program
  9.     {
  10.         public static double getPaymentAmount(double houseArea,
  11.         double[] firstTariffCoefficients, int firstSize,   // тарифные коэффициенты за 1.01-30.06 и их количество
  12.         double[] secondTariffCoefficients, int secondSize) // тарифные коэффициенты за 1.07-31.12 и их количество
  13.         {
  14.             // Концепция годовой формулы: ans = houseArea * period * (tariff1 + tariff2)
  15.            
  16.             // тарифная ставка меняется 1 июля каждого года
  17.             // коэффициенты тарифных планов (содержание дома, текущий ремонт, услуги управления):
  18.             //   управление: "Управление многоквартирным домом";
  19.             //   ремонт: все слова, где есть "ремонт";
  20.             //   содержание: все слова, где нет "Управление многоквартирным домом" или "ремонт".
  21.  
  22.             const int period = 6;  // в месяцах, фиксированный
  23.            
  24.             double firstSum = firstTariffCoefficients[0], secondSum = secondTariffCoefficients[0];
  25.             for (int i = 1; i < firstSize; ++i)
  26.             {
  27.                 firstSum += firstTariffCoefficients[i];
  28.             }
  29.             for (int i = 1; i < secondSize; ++i)
  30.             {
  31.                 secondSum += secondTariffCoefficients[i];
  32.             }
  33.            
  34.             return period * houseArea * (firstSum + secondSum);  // общая сумма по тарифному плану
  35.         }
  36.  
  37.  
  38.         static void Main(string[] args)
  39.         {
  40.             double area = 627.22;
  41.             double[] first = new double[1];
  42.             double[] second = new double[1];
  43.             first[0] = 1.18;
  44.             second[0] = 2.29;
  45.            
  46.             System.Console.WriteLine(getPaymentAmount(area, first, first.Length, second, second.Length));
  47.             System.Console.ReadLine();
  48.         }
  49.  
  50.     }
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement