Advertisement
plamen27

Your mistakes described

Jun 23rd, 2016
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.97 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace ConsoleApplication1
  8. {
  9. class odd_even_pos
  10. {
  11. static void Main(string[] args)
  12. {
  13. int count = int.Parse(Console.ReadLine());
  14. double oddSum = 0; // правилно е да се напише 0.0
  15. double oddMin = double.MaxValue;
  16. double oddMax = double.MinValue;
  17. double evenSum = 0; // правилно е да се напише 0.0
  18. double evenMin = double.MaxValue;
  19. double evenMax = double.MinValue;
  20.  
  21. if (count == 0) // Концептуална грешка - от самото начало дефинирайки тези 2 случая програмата ти смята грешно тъй като ти ги изключваш и после се натрупва грешка
  22. { // Тези две условия трябва да бъдат премахнати и директно да започнеш с for цикъла който започва от else при теб
  23. Console.WriteLine("OddSum = 0");
  24. Console.WriteLine("OddMin = No");
  25. Console.WriteLine("OddMax = No");
  26. Console.WriteLine("EvenSum = 0");
  27. Console.WriteLine("EvenMin = No");
  28. Console.WriteLine("EvenMax = No");
  29.  
  30. }
  31. else if (count == 1)
  32. {
  33. int num = int.Parse(Console.ReadLine()); /// грешка - тук трябва да сложиш double защото така програмата ти прави стъкмистика изключва double число
  34. Console.WriteLine("OddSum = {0}", num);
  35. Console.WriteLine("OddMin = {0}", num);
  36. Console.WriteLine("OddMax = {0}", num);
  37. Console.WriteLine("EvenSum = 0");
  38. Console.WriteLine("EvenMin = No");
  39. Console.WriteLine("EvenMax = No");
  40.  
  41. }
  42. else
  43. {
  44.  
  45. for (int i = 0; i < count; i++) /// 2 грешка - i = 1; i <= count - иначе програмата няма да смята правилно, макар че в твоя случай концептуалната грешка променя всичко
  46. {
  47. int num = int.Parse(Console.ReadLine()); /// 1 грешка - това оправя обаче само гърмежите където въобще ти крашва системата тук трябва да сложиш double
  48. Console.WriteLine("OddSum = {0}", num);
  49. if (num % 2 == 0)
  50. {
  51. evenSum += num;
  52. if (num < evenMin) evenMin = num;
  53. if (num > evenMax) evenMax = num;
  54.  
  55. }
  56. else if (num % 2 != 0)
  57. {
  58. oddSum += num;
  59. if (num < oddMin) oddMin = num;
  60. if (num > oddMax) oddMax = num;
  61. }
  62.  
  63. }
  64. // 3 грешка - тук отсътства проверка за No - в твоя случай ти си искал разбираемо да я избегнеш, но при промяна на концепцията ще трябва да разгърнеш проверка с if else конструкция
  65. Console.WriteLine("OddSum = {0}", oddSum);
  66. Console.WriteLine("OddMin = {0}", oddMin);
  67. Console.WriteLine("OddMax = {0}", oddMax);
  68. Console.WriteLine("EvenSum = {0}", evenSum);
  69. Console.WriteLine("EvenMin = {0}", evenMin);
  70. Console.WriteLine("EvenMax = {0}", evenMax);
  71.  
  72. }
  73.  
  74. }
  75. }
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement