Advertisement
NikolaySpasovTriset

Odd / Even Position with Questions

Oct 3rd, 2016
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.44 KB | None | 0 0
  1.  
  2. //Напишете програма, която чете n числа и пресмята сумата, минимума и максимума на числата на четни и
  3. //    нечетни позиции(броим от 1). Когато няма минимален / максимален елемент, отпечатайте “No”. (Odd / Even Positions)
  4.  
  5. using System;
  6.  
  7. class Program
  8. {
  9.     static void Main()
  10.     {
  11.         double oddMax = 0;
  12.         double oddMin = 0;
  13.         double evenMax = 0;
  14.         double evenMin = 0;
  15.         double sumEven = 0;
  16.         double sumOdd = 0;
  17.         double maxValue = double.MaxValue;
  18.         double maxValue1 = double.MaxValue; // как да бъдат избегнати адаването на две променливи с еднаква стойност?
  19.         double minValue = double.MinValue;//проблемът ако използваш само една е, че след като завърти през цикъла и си
  20.         double minValue1 = double.MinValue;// променя стойността и след това не работи коректно.
  21.  
  22.         double n = double.Parse(Console.ReadLine());
  23.         for (int i = 1; i <= n; i++)
  24.         {
  25.             double enterNumber = double.Parse(Console.ReadLine());
  26.             if (i % 2 == 0)
  27.             {
  28.                 double sumEvenTemp = 0;
  29.                 sumEvenTemp = enterNumber;
  30.                 sumEven += sumEvenTemp;
  31.  
  32.                 if (enterNumber > minValue1)
  33.                 {
  34.                     minValue1 = enterNumber;
  35.                     evenMax = minValue1;
  36.                 }
  37.                 if (enterNumber < maxValue1)
  38.                 {
  39.                     maxValue1 = enterNumber;
  40.                     evenMin = maxValue1;
  41.                 }
  42.             }
  43.             else
  44.             {
  45.                 double sumOddTemp = 0;
  46.                 sumOddTemp = enterNumber;
  47.                 sumOdd += sumOddTemp;
  48.                 if (enterNumber > minValue)
  49.                 {
  50.                     minValue = enterNumber;
  51.                     oddMax = minValue;
  52.                 }
  53.                 if (enterNumber < maxValue)
  54.                 {
  55.                     maxValue = enterNumber;
  56.                     oddMin = maxValue;
  57.                 }
  58.             }
  59.         }
  60.         if (n > 1) //тук по-долу съм обработил "No" случая. Това обаче не ми харесва, по каруцаркси начин е и по-скоро
  61.             //е нагласен за целите на самата задача. Има ли по-адекватен метод, когато липсва нещо на позицията odd примерно,
  62.             //да изписва "No", както е в условието на задачата.
  63.         {
  64.             Console.WriteLine("OddSum={0}, OddMin={1}, OddMax={2}, EvenSum={3}, EvenMin={4}, EvenMax={5}",
  65.                 sumOdd,
  66.                 oddMin,
  67.                 oddMax,
  68.                 sumEven,
  69.                 evenMin,
  70.                 evenMax);
  71.         }
  72.         else if (n == 1)
  73.         {
  74.             Console.WriteLine("OddSum={0}, OddMin={0}, OddMax={0}, EvenSum=0, EvenMin=No, EvenMax=No", sumOdd);
  75.         }                
  76.         else if (n==0)
  77.         {
  78.  
  79.             Console.WriteLine("OddSum=0, OddMin=No, OddMax=No, EvenSum=0, EvenMin=No, EvenMax=No");
  80.         }        
  81.     }
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement