Advertisement
Guest User

Untitled

a guest
May 21st, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.01 KB | None | 0 0
  1. using System;
  2.  
  3.  
  4. namespace ConsoleApp18
  5. {
  6. class Program
  7. {
  8. static void Main(string[] args)
  9. {
  10. Console.WriteLine("Задайте длину последовательности\n");
  11. int n = Convert.ToInt32(Console.ReadLine());
  12. int[] Start_Arr = new int[n];
  13. int[] First_Arr = new int[n];
  14. int[] Second_Arr = new int[n];
  15. Console.WriteLine("Задайте последовательность:");
  16. for (int i = 0; i < n; i++)
  17. {
  18. Start_Arr[i] = Convert.ToInt32(Console.ReadLine());
  19. }
  20. RecursiveMethod(ref Start_Arr, ref First_Arr, ref Second_Arr, n);
  21. Console.ReadKey();
  22. }
  23. static void RecursiveMethod(ref int[] Start_Arr, ref int[] First_Arr, ref int[] Second_Arr, int n, int k = 0)
  24. {
  25. int max = Find_Max(ref Start_Arr, n);
  26. bool x = Smaller_Amount(First_Arr, Second_Arr, n);
  27. if ((k < n) && x) First_Arr[k] = max;
  28. else if (k < n) Second_Arr[k] = max;
  29. if (k < n)
  30. {
  31. k++;
  32. RecursiveMethod(ref Start_Arr, ref First_Arr, ref Second_Arr, n, k);
  33. }
  34. else Out (First_Arr, Second_Arr, n);
  35. }
  36. static int Find_Max(ref int[] Start_Arr, int n)
  37. {
  38. int max = 0;
  39. int j = 0;
  40. for (int i = 0; i < n; i++)
  41. {
  42. if (Start_Arr[i] > max)
  43. {
  44. max = Start_Arr[i];
  45. j = i;
  46. }
  47. }
  48. Start_Arr[j] = 0;
  49. return max;
  50. }
  51. static bool Smaller_Amount ( int[] First_Arr, int[] Second_Arr,int n)
  52. {
  53. int s1 = 0;
  54. int s2 = 0;
  55. bool x;
  56. for (int i = 0; i < n; i++)
  57. {
  58. s1 += First_Arr[i];
  59. s2 += Second_Arr[i];
  60. }
  61. if (s2 > s1) x = true;
  62. else x = false;
  63. return x;
  64. }
  65. static void Out(int [] First_Arr, int [] Second_Arr, int n)
  66. {
  67. Console.Write("Первая группа чисел: ");
  68. for (int i = 0; i < n; i++)
  69. if (First_Arr[i] != 0)
  70. Console.Write($"{First_Arr[i]}; ");
  71. Console.WriteLine("");
  72. Console.Write("Вторая группа чисел: ");
  73. for (int i = 0; i < n; i++)
  74. if (Second_Arr[i] != 0)
  75. Console.Write($"{Second_Arr[i]}; ");
  76. }
  77. }
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement