Obtenir l'entrée de l'utilisateur et de créer de tableau 2D

0

La question

Je veux prendre une entrée de l'utilisateur et de créer de tableau 2D de la façon que les entrées de l'utilisateur des valeurs en deux lignes. Premier utilisateur de définir des valeurs séparées par des espaces frappe, puis entrez et donne une autre valeurs séparées les espaces comme indiqué ci-dessous l'exemple:

Donner les valeurs:

2 3 4
5 6 7

variable doit avoir ceci à la fin:

[[2, 3, 4], [5, 6, 7]]

Un autre exemple:

Donner les valeurs:

1 2
3 4

variable doit avoir ceci à la fin:

[[1, 2], [3, 4]]
c#
2021-11-24 06:06:06
1

La meilleure réponse

2

Honnêtement, je ne sais pas pourquoi vous ferait-il si compliqué, mais ici, vous allez:

Console.Write("Please insert values separated by white-space: ");
string userInputLine1 = Console.ReadLine();
Console.Write("Please insert values seperated by white-space again: ");
string userInputLine2 = Console.ReadLine();

string[] userInputLine1Splitted = userInputLine1.Split(" ");
string[] userInputLine2Splitted = userInputLine2.Split(" ");

// Either this or catch an out-of-boundary exception when one is larger than the other and fill the space with 0's or something else.
if (userInputLine1Splitted.Length != userInputLine2Splitted.Length)
{
  throw new Exception("Both 1d arrays need to be the same length!");
}

int lengthOfArray = userInputLine1Splitted.Length;

// Since we  always have only 2 rows this can be hardcoded.
int[,] TwoDArrayFromUserInput = new int[2, lengthOfArray]; 

for (int col = 0; col < lengthOfArray; col++)
{
  TwoDArrayFromUserInput[0, col] = Convert.ToInt32(userInputLine1Splitted[col]);
  TwoDArrayFromUserInput[1, col] = Convert.ToInt32(userInputLine2Splitted[col]);
}

// Print to console to prove it worked.
for (int row = 0; row < 2; row++)
{
  for (int col = 0; col < lengthOfArray; col++)
  {
    Console.Write(TwoDArrayFromUserInput[row, col] + " ");
  }

  Console.WriteLine();
}

Si vous pouviez préciser votre cas d'utilisation, je suis assez sûr que je pourrais vous aider à trouver une meilleure solution.

2021-11-24 06:43:48

pourquoi tu dit sa compliquée? L'une des missions est de prendre en 2D dime tableau à partir de la console. Quoi de mal à cela?
Arie

Peut-être "compliqué" est le bon mot. Mais selon les cas d'utilisation, il y a beaucoup de meilleures alternatives que d'utiliser 2 tableaux 1D comme une sorte de tampon pour créer un tableau 2D.
Axs

Dans d'autres langues

Cette page est dans d'autres langues

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................