Принимая данные для 2d массива с 10 строками и тремя столбцами - PullRequest
0 голосов
/ 14 февраля 2019

Я хочу, чтобы массив принимал три аргумента и заполнял массив 10x3 пользовательским вводом. Как только это произойдет, я хочу, чтобы он мог принимать аргументы, которые просматривают третий столбец, чтобы определить, доступно ли пространство из array[0,2] до array[4,2] и, если нет, я хочу, чтобы пробелы от array[5,2] до array[9,2] были проверены на наличие, но только для маленьких собак.Теперь другие мелочи, такие как подтверждение или недоступность, являются небольшими, если операторы внутри этих частей, и отображение будет вызывать метод обратно после того, как все будет выполнено.Поэтому я предполагаю, что моему методу потребуется возврат, чтобы сохранить все значения, которые пользователь ввел для массива.Моя проблема заключается в определении синтаксиса для этого.Мой текущий метод для массива принимает значения, но не будет отображаться правильно.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace PetKennel
{   

 class Program
  {
static void Main(string[] args)
{
    /*Consider the following scenario:  
    A doggy daycare service has hired you to create a new reservation 
    system.
    Use a 2 dimensional array to note which kennels are reserved for the 
    day.
    Assume that you only reserve one day at a time.
   •    There are two types of kennels: large dog and small dog.
   •    There are a 5 kennels of each type; one row of the array 
    represents each kennel type(i.e., first row is small dog, 2nd row is 
    large dog. )
   •    If all small dog kennels are reserved, but a large dog kennel is 
     open, a large dog kennel can be reserved for a small dog.
     Application Design requirements:
    Create a C# application that prompts the user for the reservation 
    type, verifies availability and reserves a kennel.
    For each reservation attempt, 
    you should display a message telling the user that the reservation 
    was “confirmed” or is “Not available” 
    and print out the entire reservation schedule for that day as shown 
    in the example below.
    You should also have a display option so that the reservation list 
    may be viewed prior to selection of a room.
    The reservation should be handled by a class that uses a 2 dimension 
    array.  (For example (only):       Array[kennel typ][kennel number]  
    ).*/




//initialize array
        int[,] array = new int[10,3];
        //displays array
        OutputArray(array);
    }
       //method to create array
    static void OutputArray(int[,] array)
    {
          //Header
        Console.WriteLine($"{"Size", 2}{"   Room", 2}");
          //loops array row
        for(var row = 0; row < array.GetLength(0); ++row)
        {
               //loops through each column
            for (var col = 0; col < array.GetLength(1); ++col)
            {
                //user asked for input
                Console.WriteLine("Enter size of dog, 1 for small or 2 for 
      large.");
                array[row, col] = int.Parse(Console.ReadLine());
            }
            //space in between each row
            Console.WriteLine();
        }
        //Keep console open
        Console.ReadLine();
      }
}
}

1 Ответ

0 голосов
/ 14 февраля 2019

Я хочу, чтобы он мог принимать аргументы, которые смотрят на третий столбец, чтобы определить, доступно ли пространство от массива [0,2] до массива [4,2], и если нет, я хочу пробелыиз массива [5,2] в массив [9,2] Моя проблема заключается в определении синтаксиса для этого.

Добавьте еще один метод, который повторяет столбец 2, проверяя, доступен ли он(и вы можете добавить логику для маленьких или больших собак):

static int NextSpaceAvailable(int[,] array) 
{
 for (var row = 0; row < array.GetLength(0); ++row)
 {      
   if (array[row, 2] = 0)
   {
       //This space is available
       return row;
   }
 }
 return -1;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...