Проверка наличия элемента в массива и удаление из массива - C#

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

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

чтобы понять на практике что такое массивы, я решил сделать примитивную программу. смысл такой: есть рюкзак (inventory) в нём два места. перед пользователем лежит выбор 4 предмета (item). чтобы взять предмет - нужно написать слово. эту часть программы я сделал. 1) а вот как сделать так чтобы если введённое слово не является ни одним из элементов массива item то выдавалось сообщение "нет таких предметов" и повторялся ввод. 2) если всё таки взяли предмет из массива item то как сделать так чтобы этот элемент удалялся из массива item.
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace ConsoleApplication1
  7. {
  8. class Program
  9. {
  10. static string[] inventory = { "", "" }; // ИНВЕНТАРЬ
  11. static string[] item = { "яблоко", "груша", "помидор", "огурец" }; //СПИСОК предметов, которые можно взять
  12.  
  13. static void Main(string[] args)
  14. {
  15. while (!workWithUser()) ;
  16. }
  17. static bool workWithUser()
  18. {
  19. menu(); //запускаем меню чтобы показать, что лежит в рюкзаке
  20. if (inventory[0] == "" || inventory[1] == "") //если ХОТЯ БЫ ОДИН СЛОТ ПУСТОЙ
  21. {
  22. input(); //берём предмет
  23. return false; // программа продолжает работу
  24. }
  25. if (inventory[0] != "" && inventory[1] != "") //если ВСЕ СЛОТЫ ЗАНЯТЫ
  26. {
  27. return true; //Выходим из программы.
  28. }
  29. return false;
  30. }
  31. static bool menu() //меню, показывающее что в рюкзаке
  32. {
  33. Console.Clear();
  34. Console.WriteLine("у вас есть:\n1: {0}\n2: {1}\n", inventory[0], inventory[1]);
  35. return false;
  36. }
  37. static bool input() //функция для выбора предмета
  38. {
  39. for (int i = 0; i < 2; i++)
  40. {
  41. menu();
  42. Console.WriteLine("что хотите положить в рюкзак:\n {0}\n {1}\n {2}\n {3}\n", item[0], item[1], item[2], item[3]);
  43. if (inventory[i] == "")
  44. {
  45. inventory[i] = Console.ReadLine();
  46. return false;
  47. }
  48. }
  49. return false;
  50. }
  51. }
  52. }

Решение задачи: «Проверка наличия элемента в массива и удаление из массива»

textual
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6.  
  7. namespace ConsoleApplication1
  8. {
  9.     class Program
  10.     {
  11.  
  12.         static string[] inventory = { "", "" }; // ИНВЕНТАРЬ
  13.  
  14.         static string[] item = { "яблоко", "груша", "помидор", "огурец" }; //СПИСОК предметов, которые можно взять
  15.  
  16.         static bool checker = false;
  17.  
  18.  
  19.  
  20.         static void Main(string[] args)
  21.         {
  22.             while (!workWithUser()) ;
  23.         }
  24.         static bool workWithUser()
  25.         {
  26.             menu();                                         //запускаем меню чтобы показать, что лежит в рюкзаке
  27.             if (inventory[0] == "" || inventory[1] == "")   //если ХОТЯ БЫ ОДИН СЛОТ ПУСТОЙ
  28.             {
  29.                 input();                                    //берём предмет
  30.                 return false;                               // программа продолжает работу
  31.             }
  32.  
  33.             if (inventory[0] != "" && inventory[1] != "")   //если ВСЕ СЛОТЫ ЗАНЯТЫ
  34.             {
  35.                 return true;                                //Выходим из программы.
  36.             }
  37.  
  38.             return false;
  39.  
  40.         }
  41.         static bool menu()                                  //меню, показывающее что в рюкзаке
  42.         {
  43.             Console.Clear();
  44.             Console.WriteLine("у вас есть:\n1: {0}\n2: {1}\n", inventory[0], inventory[1]);
  45.             return false;
  46.         }
  47.         static bool input()                                 //функция для выбора предмета
  48.         {
  49.             string msg;
  50.             for (int i = 0; i < 2; i++)
  51.             {
  52.                 menu();
  53.                 Console.WriteLine("что хотите положить в рюкзак:\n {0}\n {1}\n {2}\n {3}\n", item[0], item[1], item[2], item[3]);
  54.                 if (inventory[i] == "")
  55.                 {
  56.                     while(true)//спрашиваем, пока не будет введен существующий айтем
  57.                     {
  58.                         msg = Console.ReadLine();
  59.                         checker = checkForItems(msg);
  60.                         if (checker)
  61.                             break;
  62.                         Console.WriteLine("Oops! Такой товар не существует. Введите новый");
  63.                     }
  64.  
  65.                     inventory[i] = msg;
  66.                     return false;
  67.                 }
  68.             }
  69.             return false;
  70.         }
  71.         static bool checkForItems(string msg)
  72.         {
  73.             for(int i = 0; i < item.Length; i++)
  74.             {
  75.                 if (msg == item[i])
  76.                 {
  77.                     return true;//совпадение введеного пользователем в инвентаре
  78.                 }
  79.             }
  80.             return false; // совпадений не было
  81.         }
  82.  
  83.     }
  84. }

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


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

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

15   голосов , оценка 3.933 из 5

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

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

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