C# 2D -matrise

C# 2D -matrise
For å forstå konseptet med en 2D-matrise, må vi ha en viss kunnskap om en endimensjonal matrise. Fordi en 2D -matrise består av enkeltmatriser, som en 1D -matrise, kan 2D også være av forskjellige datatyper på en enkelt tid. En 2D -matrise inneholder elementer i form av en tabell som har blokker. Bestillingen skal opprettholdes mens du erklærer en 2D -matrise, inkludert den første raden og deretter kolonner [rad, kolonner].

Erklæring og tilordning

Int [,] array = x, x, y, y;

Denne matrisen har [2, 2] størrelse. Dette viser at en matrise har to rader og to kolonner. Vi har implementert 2D -matriseprogrammer på forskjellige måter. La oss begynne å utdype funksjonaliteten til 2D -matriser.

Eksempel 1

Flerdimensjonal matrise i C Sharp er akkurat som de i C ++ og andre programmeringsspråk. Denne matrisen inneholder flere rader og kolonner enn en enkelt matrise; Derfor er initialiseringen av en 2D -matrise på en eller annen måte annerledes; Vi må tilordne verdier i begge dimensjoner ved å følge rekkefølgen på rader og kolonner. Så det første eksemplet tar for seg å erklære en 2D -matrise. Vi vil implementere det i programmet som vi har sett prøven syntaks. Erklære systembiblioteket og klassen for å bruke hovedprogrammet inne i det.

Ved hjelp av system;

Nå, initialiser heltallet Type 2D -matrisen kalt "tall".

Int [,] tall = 4, 8, 2, 6;

På denne måten blir heltalene til begge radene initialisert, med to kolonner hver. Dette er den manuelle initialiseringen av elementene i 2D -matrisen. For å få tilgang til elementene i en matrise, vil vi bruke en enkel konsolluttalelse for å vise elementene. Først vil vi vise det første elementet i 2D -matrisen av den første raden, slik at både rad- og kolonneverdiene vil være av null indekser, ettersom matriseringsindeksen starter fra 0.

Konsoll. WritLine ("Elements at Index [0, 0]:" +Numbers [0,0]);

Tilsvarende, for det første elementet fra den andre raden, vil vi bruke den samme uttalelsen; Bare indeksnummeret for raden vil bli endret. Og når det gjelder det andre elementet fra den andre raden, vil både indeksene for rad og kolonne bli økt. [1, 1].

Vi vil utføre den forrige koden på Ubuntu -terminalen. For dette formålet vil det være nødvendig med en kompilator for å hjelpe utførelsesprosessen. MCS brukes til å kompilere C Sharp -kildekoder. Videre vil Mono utføre den kompilerte filen med ".exe ”-forlengelse.

$ MCS -fil.CS
$ mono -fil.EXE

Du kan se at de to første radene viser den resulterende verdien ved indeks 0 i begge rader. Mens den siste viser den andre verdien i andre rad.

Eksempel nr. 2

Etter å ha lagt til varene og initialisert matrisen manuelt, kan vi endre matrisen ved å legge til eller fjerne elementer fra den. Dette kan gjøres enkelt ved å gi detaljene om elementer ved å spesifisere indeksene i rader og kolonner. Når vi erklærer og tildeler verdiene manuelt til matriser, er det lett å få tilgang til og endre varene. Mens det for løkkene blir det tøft å søke på elementet gjennom hvert element og deretter endre det. Først har vi erklært en rekke [2, 2] størrelser.

Vis elementene på [0, 0] indeksen før du utveksler dem med det nye nummeret. Etter det, tilordne det nye nummeret ved å bruke følgende metode:

Tall [0, 0] = 456;

Ved å gjøre dette vil det første nummeret erstattes med det forrige. En direkte tildelt verdi fjerner den forrige automatisk.

Vi vil nå vise verdien med samme indeks for å bekrefte erstatningen.

Eksempel nr. 3

Til nå ble metodikken for å få tilgang til matriseelementer manuelt gjort. Imidlertid kan denne tilnærmingen endres ved å bruke løkker for å få tilgang til flerdimensjonale matriser. Løkker kan redusere tidskompleksiteten sammenlignet med manuelle metoder. Nå vil vi se bruken av løkker i C Sharp 2D -erklæring og tilgang.

Først må du erklære en matrise. Vi har ikke fikset størrelsen på matrisen mens erklæringen; Bare verdiene er direkte tildelt. Men den tilsynelatende størrelsen for en 2D -matrise her er [2, 3], da den inneholder 2 rader og 3 kolonner.

Etter erklæringen om 2D -matrisen, får vi tilgang til verdien gjennom løkker. I en enkel endimensjonal matrise brukes en singel for loop til å iterere gjennom en matrise. Men når det gjelder en 2D -matrise, trenger vi to for løkker; Den ene er det ytre for loop og indre for loop. Den ytre sløyfen er for radene, mens den indre sløyfen representerer kolonnene i en 2D -matrise. Som vi ikke har nevnt størrelsen på en matrise, så vil vi bruke getLength (0); en innebygd funksjon for å ha størrelsen på en matrise.

Ved å bruke størrelsen, kan sløyfen iterere opp i denne grad. Den ytre sløyfen vil bare iterere dobbelt så mange rader er 2. Først starter den ytre sløyfen og den indre sløyfen itererer for hver kolonne i en enkelt rad. Deretter økes den ytre sløyfen, og den indre sløyfen itererer for den andre raden til alle varene er tilgjengelig og vises. To indekser brukes til den indre sløyfen, fra 0 -indeksene.

Konsoll.skriv (tall [i, j]+ "");

Nå, kompiler og utfør den i konsollen.

Hvert element i den respektive raden vises.

Eksempel 4

Dette eksemplet omhandler nå looping -mekanismen i C Sharp 2D -erklæringen og tildeler verdier. Den forrige viste bare varene gjennom en loop. Vi vil dynamisk erklære 2D -matrisen i hovedprogrammet gjennom den nye operatøren.

Vi skriver ut nåverdien av en matrise. Vi har ikke tildelt noen verdi til matrisen ennå, så som standard; verdien er 0 for hver rad og kolonne.

Nå vil vi tilordne verdiene til matrisen med den nestede sløyfen.

a += 5;
arr [i, j] = a;

Vi har brukt 5 tall fra starten, og hver neste indeks vil ta det nye nummeret som er oppnådd ved å legge til 5 til forrige nummer.

Igjen, vi vil bruke nestet til Loop for å vise matrisens varer. Dette vil følge den samme teknikken som beskrevet ovenfor i følgende eksempel:

Nå, utfør koden. Du vil se det først, før du erklærer verdier, inneholder hver indeks 0. Da vil hver indeks av matrisen ha antallet multippel på 5 opp til 20 nummer.

Konklusjon

En flerdimensjonal matrise er lett å erklære ved å følge raden og kolonnensordre i matrisen. Et C Sharp -programmeringsspråk brukes til å implementere 2D -matriser i Linux -operativsystemet. En 2D -matrise er deklarert og åpnet manuelt og gjennom sløyfen. En flerdimensjonal matrise er en samling av den endimensjonale matrisen ved å øke området med gjenstander som skal legges til i en enkelt beholder i form av en tabell. Vi har forklart implementeringen av en 3D -matrise ved enkel erklæring og tilordne verdiene, erstatte verdien og bruke løkker i en 2D -matrise.