Advertisement
Guest User

Untitled

a guest
Sep 23rd, 2019
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.58 KB | None | 0 0
  1. using System.Collections.Generic;
  2. using System.Globalization;
  3. using System.Linq;
  4. using System.Numerics;
  5. using System.Text;
  6. using System.Text.RegularExpressions;
  7. using System;
  8.  
  9. namespace _02_Multidimensional_arrays
  10. {
  11. class Program
  12. {
  13. static void Main(string[] args)
  14. {
  15.  
  16.  
  17. int quantity = int.Parse(Console.ReadLine());
  18. int[] order = Console.ReadLine().Split().Select(int.Parse).ToArray();
  19. Queue<int> queue = new Queue<int>();
  20. bool truee = true; //първоначалната стойност трябва да е "true". Ако веднъж не се изпълни условието- правиш я на false
  21. //и брейкваш цикъла по-долу
  22.  
  23. var counter = 0;
  24. //StringBuilder index = new StringBuilder(); //
  25.  
  26. for (int i = 0; i < order.Length; i++)
  27. {
  28. queue.Enqueue(order[i]);
  29. }
  30.  
  31. Console.WriteLine(queue.Max());
  32. foreach (var item in queue)
  33. {
  34. if (quantity >= item)
  35. {
  36. /*var ost = quantity - item;*/ // ненужна променлива.
  37. quantity -= item;
  38. counter++;
  39. }
  40.  
  41. else
  42. {
  43. truee = false;
  44. break; //добавих break, за да излезем от цикъла ако не можем да изпълним поръчката, без да разглеждаме
  45. // последващи стойности опашката.
  46. }
  47.  
  48. }
  49. for (int i = 0; i < counter; i++)
  50. {
  51. queue.Dequeue(); //вкарах допълнителен цикъл, за да може да премахваме от опашката дадената поръчка, когато
  52. // имаме достатъчно "quantity". Причината е, че във foreach не можеш да манипулираш стек/опашка, защото
  53. // променяйки големината им, програмата ще гръмне с "Exception".
  54. }
  55. if (truee)
  56. {
  57. Console.WriteLine("Orders complete");
  58. }
  59. else
  60. {
  61. Console.Write($"Orders left: ");
  62. Console.WriteLine(string.Join(" ", queue));
  63. }
  64.  
  65. }
  66. }
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement