Исправить вывод - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, помогите пожалуйста сделать вывод номера товара не "01-го, 11-го, 21-го", а 1-го, 2-го, 3-го вот код
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace DynamicKnapsack
  7. {
  8. class Article //товар
  9. {
  10. public string name; //название товара
  11. public int weight; //вес товара
  12. public int price; //цена товара
  13. public bool take; //берем ли товар
  14. public Article(string n, int w, int p)
  15. {
  16. name = n;
  17. weight = w;
  18. price = p;
  19. }
  20. }
  21. class Program
  22. {
  23. public static Article[] articles;
  24. public static int numsArticle; // Количество товаров
  25. public static bool incorrEnter; //Переменная, что проверяет корректность ввода
  26. public static string name; // Имя товара
  27. public static int weight, price, maxWeight; // Вес и цена товара, размер рюкзака
  28. public static int[,] func; //массив для хранения значений функции
  29. // Метод выводит на экран рюкзак
  30. static void Print()
  31. {
  32. Console.WriteLine("\nМаксимальная стоимость: " + func[maxWeight, numsArticle-1]);
  33. Console.Write("Взяты следующие предметы: ");
  34. foreach (Article x in articles)
  35. if (x.take)
  36. Console.Write(x.name + " ");
  37. }
  38. static void Main(string[] args)
  39. {
  40. int s, n, i; //просто переменные :)
  41. //Введем количество товаров
  42. do
  43. {
  44. incorrEnter = false;
  45. Console.Write("\nКакое количество товаров вы рассматриваете для приобретения: ");
  46. try
  47. {
  48. numsArticle = Convert.ToInt32(Console.ReadLine());
  49. }
  50. catch(FormatException)
  51. {
  52. incorrEnter = true;
  53. numsArticle = 0;
  54. }
  55. } while (incorrEnter);
  56. articles = new Article[numsArticle]; //Создаем массив заданного размера
  57. //Создадим объекты товаров
  58. for (i = 0; i < articles.Length; i++)
  59. {
  60. Console.Write("\n\nВведите название " + i+1 + "-го товара: ");
  61. name = Console.ReadLine();
  62. do
  63. {
  64. incorrEnter = false;
  65. Console.Write("Введите вес товара: ");
  66. try
  67. {
  68. weight = Convert.ToInt32(Console.ReadLine());
  69. }
  70. catch (FormatException)
  71. {
  72. incorrEnter = true;
  73. weight = 0;
  74. }
  75. } while (incorrEnter);
  76. do
  77. {
  78. incorrEnter = false;
  79. Console.Write("Введите цену товара: ");
  80. try
  81. {
  82. price = Convert.ToInt32(Console.ReadLine());
  83. }
  84. catch (FormatException)
  85. {
  86. incorrEnter = true;
  87. price = 0;
  88. }
  89. } while (incorrEnter);
  90. articles[i] = new Article(name, weight, price); //Создаем объект
  91. }
  92. // Введем размер рюкзака
  93. do
  94. {
  95. incorrEnter = false;
  96. Console.Write("\nВведите размер вашего рюкзака (контейнера): ");
  97. try
  98. {
  99. maxWeight = Convert.ToInt32(Console.ReadLine());
  100. }
  101. catch (FormatException)
  102. {
  103. incorrEnter = true;
  104. maxWeight = 0;
  105. }
  106. } while (incorrEnter);
  107. func = new int[maxWeight+1, numsArticle]; //Реализуем массив функции
  108. //Реализуем алгоритм Беллмана
  109. for (weight = 1; weight <= maxWeight; weight++) // Загружаем рюкзак если его вместимость = Weight
  110. for (i = 1; i < numsArticle; i++) // берем предметы с 1 по numsArticle
  111. //если вес предмета больше Weight, или предыдущий набор лучше выбираемого
  112. if (articles[i].weight > weight)
  113. {
  114. func[weight, i] = func[weight, i - 1]; //тогда берем предыдущий набор
  115. articles[i].take = false;
  116. }
  117. else if (func[weight, i - 1] >= (func[weight - articles[i].weight, i - 1] + articles[i].price))
  118. {
  119. func[weight, i] = func[weight, i - 1]; //тогда берем предыдущий набор
  120. articles[i].take = false;
  121. }
  122. else
  123. {
  124. func[weight, i] = func[weight - articles[i].weight, i - 1] + articles[i].price; //иначе добавляем к предыдущему набору текущий предмет
  125. articles[i].take = true;
  126. }
  127. Print();
  128. Console.ReadKey();
  129. }
  130. }
  131. }

Решение задачи: «Исправить вывод»

textual
Листинг программы
  1. Console.Write("\n\nВведите название " + (i+1) + "-го товара: ");

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.692 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы