Проверка наличия элемента в массива и удаление из массива - C#
Формулировка задачи:
чтобы понять на практике что такое массивы, я решил сделать примитивную программу.
смысл такой:
есть рюкзак (inventory) в нём два места.
перед пользователем лежит выбор 4 предмета (item).
чтобы взять предмет - нужно написать слово.
эту часть программы я сделал.
1) а вот как сделать так чтобы если введённое слово не является ни одним из элементов массива item то выдавалось сообщение "нет таких предметов" и повторялся ввод.
2) если всё таки взяли предмет из массива item то как сделать так чтобы этот элемент удалялся из массива item.
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static string[] inventory = { "", "" }; // ИНВЕНТАРЬ static string[] item = { "яблоко", "груша", "помидор", "огурец" }; //СПИСОК предметов, которые можно взять static void Main(string[] args) { while (!workWithUser()) ; } static bool workWithUser() { menu(); //запускаем меню чтобы показать, что лежит в рюкзаке if (inventory[0] == "" || inventory[1] == "") //если ХОТЯ БЫ ОДИН СЛОТ ПУСТОЙ { input(); //берём предмет return false; // программа продолжает работу } if (inventory[0] != "" && inventory[1] != "") //если ВСЕ СЛОТЫ ЗАНЯТЫ { return true; //Выходим из программы. } return false; } static bool menu() //меню, показывающее что в рюкзаке { Console.Clear(); Console.WriteLine("у вас есть:\n1: {0}\n2: {1}\n", inventory[0], inventory[1]); return false; } static bool input() //функция для выбора предмета { for (int i = 0; i < 2; i++) { menu(); Console.WriteLine("что хотите положить в рюкзак:\n {0}\n {1}\n {2}\n {3}\n", item[0], item[1], item[2], item[3]); if (inventory[i] == "") { inventory[i] = Console.ReadLine(); return false; } } return false; } } }
Решение задачи: «Проверка наличия элемента в массива и удаление из массива»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static string[] inventory = { "", "" }; // ИНВЕНТАРЬ static string[] item = { "яблоко", "груша", "помидор", "огурец" }; //СПИСОК предметов, которые можно взять static bool checker = false; static void Main(string[] args) { while (!workWithUser()) ; } static bool workWithUser() { menu(); //запускаем меню чтобы показать, что лежит в рюкзаке if (inventory[0] == "" || inventory[1] == "") //если ХОТЯ БЫ ОДИН СЛОТ ПУСТОЙ { input(); //берём предмет return false; // программа продолжает работу } if (inventory[0] != "" && inventory[1] != "") //если ВСЕ СЛОТЫ ЗАНЯТЫ { return true; //Выходим из программы. } return false; } static bool menu() //меню, показывающее что в рюкзаке { Console.Clear(); Console.WriteLine("у вас есть:\n1: {0}\n2: {1}\n", inventory[0], inventory[1]); return false; } static bool input() //функция для выбора предмета { string msg; for (int i = 0; i < 2; i++) { menu(); Console.WriteLine("что хотите положить в рюкзак:\n {0}\n {1}\n {2}\n {3}\n", item[0], item[1], item[2], item[3]); if (inventory[i] == "") { while(true)//спрашиваем, пока не будет введен существующий айтем { msg = Console.ReadLine(); checker = checkForItems(msg); if (checker) break; Console.WriteLine("Oops! Такой товар не существует. Введите новый"); } inventory[i] = msg; return false; } } return false; } static bool checkForItems(string msg) { for(int i = 0; i < item.Length; i++) { if (msg == item[i]) { return true;//совпадение введеного пользователем в инвентаре } } return false; // совпадений не было } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д