Проверка наличия элемента в массива и удаление из массива - 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; // совпадений не было
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д