Haaste: Moniulotteiset Taulukot
Moniulotteisten taulukoiden indeksointia varten on joskus hyödyllistä määritellä vakiot. Seuraavassa on taulukko edellisen luvun kyselystä:
main.cs
1234567const int FRUITS = 0; const int VEGETABLES = 1; string[,] foods = { { "Apple", "Apricot", "Banana", "Grapes", "Lime" }, // fruits { "Tomato", "Cabbage", "Carrot", "Pumpkin", "Broccoli" }, // vegetables };
Olemme luoneet kaksi vakiota, FRUITS ja VEGETABLES, joiden arvot ovat 0 ja 1. Ne edustavat rivejä 0 (hedelmät) ja 1 (vihannekset) taulukossa foods.
Jos haluamme hakea vihannesten joukosta alkion "Cabbage", voimme yksinkertaisesti kirjoittaa:
main.cs
1foods[VEGETABLES][1];
Tämä niksi ei välttämättä ole kovin hyödyllinen pienemmissä taulukoissa, kuten tässä esimerkissä, mutta kun käsitellään monimutkaisempia taulukoita, vakioiden käyttö voi helpottaa helppoa alkioiden hakua taulukosta, jolloin meidän ei tarvitse muistaa mikä rivi sisältää mitkäkin alkiot – erityisesti jos olemme luokitelleet alkiot riveihin.
Nyt haasteena on luoda 2-ulotteinen taulukko tyyppiä string nimellä productOptions, jonka koko on 4x3 (4 riviä, 3 saraketta). Alusta se seuraavilla tiedoilla:
- Rivi 1:
"Red", "Green", "White"; - Rivi 2:
"Square", "Rectangle", "Sphere"; - Rivi 3:
"Thick", "Medium", "Thin"; - Rivi 4:
"Printed", "Crafted", "None".
Hae "Crafted"-alkio indeksoimalla ja tulosta se. Käytä siihen sopivaa vakiomuuttujaa.
main.cs
123456789101112131415161718192021222324using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { const int COLOR = 0; const int SHAPE = 1; const int WIDTH = 2; const int DESIGN = 3; // Create the array below _______ = { _______ }; // Reference the relevant element in the WriteLine statement Console.WriteLine(productOptions[DESIGN, 1]); Console.WriteLine(productOptions[COLOR, 2]); Console.WriteLine(productOptions[SHAPE, 0]); Console.WriteLine(productOptions[WIDTH, 1]); } } }
- Moniulotteisen taulukon määrittelyssä lisätään pilkkuja hakasulkeiden (
[]) sisään taulukon ulottuvuuksien mukaan. Esimerkiksi kolmiulotteinen kokonaislukutaulukko määritellään näin:int[,,] arrayName = { ... };. - Indeksoinnissa voidaan käyttää muuttujia tai vakioarvoja.
Esimerkiksi jos meillä on taulukko
int[] exampleArray = { 1, 2, 3, 4, 5 };ja vakioconst int someIndex = 2, on sallittua kirjoittaaexampleArray[someIndex]viitatakseen taulukon arvoon 3.
main.cs
123456789101112131415161718192021222324252627using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { const int COLOR = 0; const int SHAPE = 1; const int WIDTH = 2; const int DESIGN = 3; // Create the array below string[,] productOptions = { { "Red", "Green", "White" }, { "Square", "Rectangle", "Sphere" }, { "Thick", "Medium", "Thin" }, { "Printed", "Crafted", "None" } }; // Reference the relevant element in the WriteLine statement Console.WriteLine(productOptions[DESIGN, 1]); Console.WriteLine(productOptions[COLOR, 2]); Console.WriteLine(productOptions[SHAPE, 0]); Console.WriteLine(productOptions[WIDTH, 1]); } } }
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Awesome!
Completion rate improved to 1.59
Haaste: Moniulotteiset Taulukot
Pyyhkäise näyttääksesi valikon
Moniulotteisten taulukoiden indeksointia varten on joskus hyödyllistä määritellä vakiot. Seuraavassa on taulukko edellisen luvun kyselystä:
main.cs
1234567const int FRUITS = 0; const int VEGETABLES = 1; string[,] foods = { { "Apple", "Apricot", "Banana", "Grapes", "Lime" }, // fruits { "Tomato", "Cabbage", "Carrot", "Pumpkin", "Broccoli" }, // vegetables };
Olemme luoneet kaksi vakiota, FRUITS ja VEGETABLES, joiden arvot ovat 0 ja 1. Ne edustavat rivejä 0 (hedelmät) ja 1 (vihannekset) taulukossa foods.
Jos haluamme hakea vihannesten joukosta alkion "Cabbage", voimme yksinkertaisesti kirjoittaa:
main.cs
1foods[VEGETABLES][1];
Tämä niksi ei välttämättä ole kovin hyödyllinen pienemmissä taulukoissa, kuten tässä esimerkissä, mutta kun käsitellään monimutkaisempia taulukoita, vakioiden käyttö voi helpottaa helppoa alkioiden hakua taulukosta, jolloin meidän ei tarvitse muistaa mikä rivi sisältää mitkäkin alkiot – erityisesti jos olemme luokitelleet alkiot riveihin.
Nyt haasteena on luoda 2-ulotteinen taulukko tyyppiä string nimellä productOptions, jonka koko on 4x3 (4 riviä, 3 saraketta). Alusta se seuraavilla tiedoilla:
- Rivi 1:
"Red", "Green", "White"; - Rivi 2:
"Square", "Rectangle", "Sphere"; - Rivi 3:
"Thick", "Medium", "Thin"; - Rivi 4:
"Printed", "Crafted", "None".
Hae "Crafted"-alkio indeksoimalla ja tulosta se. Käytä siihen sopivaa vakiomuuttujaa.
main.cs
123456789101112131415161718192021222324using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { const int COLOR = 0; const int SHAPE = 1; const int WIDTH = 2; const int DESIGN = 3; // Create the array below _______ = { _______ }; // Reference the relevant element in the WriteLine statement Console.WriteLine(productOptions[DESIGN, 1]); Console.WriteLine(productOptions[COLOR, 2]); Console.WriteLine(productOptions[SHAPE, 0]); Console.WriteLine(productOptions[WIDTH, 1]); } } }
- Moniulotteisen taulukon määrittelyssä lisätään pilkkuja hakasulkeiden (
[]) sisään taulukon ulottuvuuksien mukaan. Esimerkiksi kolmiulotteinen kokonaislukutaulukko määritellään näin:int[,,] arrayName = { ... };. - Indeksoinnissa voidaan käyttää muuttujia tai vakioarvoja.
Esimerkiksi jos meillä on taulukko
int[] exampleArray = { 1, 2, 3, 4, 5 };ja vakioconst int someIndex = 2, on sallittua kirjoittaaexampleArray[someIndex]viitatakseen taulukon arvoon 3.
main.cs
123456789101112131415161718192021222324252627using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { const int COLOR = 0; const int SHAPE = 1; const int WIDTH = 2; const int DESIGN = 3; // Create the array below string[,] productOptions = { { "Red", "Green", "White" }, { "Square", "Rectangle", "Sphere" }, { "Thick", "Medium", "Thin" }, { "Printed", "Crafted", "None" } }; // Reference the relevant element in the WriteLine statement Console.WriteLine(productOptions[DESIGN, 1]); Console.WriteLine(productOptions[COLOR, 2]); Console.WriteLine(productOptions[SHAPE, 0]); Console.WriteLine(productOptions[WIDTH, 1]); } } }
Kiitos palautteestasi!