Johdanto 2-D-ryhmiin C: ssä

Taulukko on ryhmä elementtejä, joilla on sama (homogeeninen) tietotyyppi. Sitä kutsutaan myös johdettuksi tietotyypiksi. Jos tarkastelemme primitiivistä tietotyyppiä ja annamme arvon alla esitetyllä tavalla,

Ja nyt, jos haluamme tallentaa uuden arvon muuttujaan a, uusi arvo korvaa vanhan arvon. Yhtä primitiivistä muuttujaa käyttämällä voidaan tallentaa vain yksi arvo kerrallaan, emme voi tallentaa useita arvoja.

Jos haluat tallentaa useampaa kuin yhtä elementtiä yhtä muuttujaa, kuten opiskelijamerkkejä, työntekijöiden tunnuksia ja matkapuhelinnumeroita, joissa on suuri määrä dataa, meidän on luotava 100 yksilöllisiä muuttujia, mikä on erittäin monimutkainen tehtävä. Joten siksi ryhmäkäsite otettiin käyttöön.

Käsitteet 2-D-ryhmissä C: ssä

Voimme määritellä taulukot

  • Yhden ulottuvuuden
  • Double ulottuvuuden

Ja niin edelleen N-ulotteiseen vaatimuksen perusteella. Mutta tässä aiomme käsitellä 2-D-ryhmiä. Kuten nimestä voi päätellä, 2-D-taulukot voivat olla matriisi-esitys tiedoista, jotka on luotu toteuttamaan relaatiotietokannan samanlainen datarakenne ja joita voidaan tallentaa taulukkomuodossa. Se tarjoaa helpon massatietojen säilyttämisen, joka voidaan siirtää mihin tahansa määrään toimintoihin vaatimuksen perusteella. Näiden taulukkojen tietoihin pääsee rivi- ja sarake-tunnusten kautta.

Kuinka voimme määritellä ja toteuttaa ne? Missä voimme käyttää niitä? Ymmärretään nuo käsitteet.

C-luokassa mittasuhteet voidaan ilmoittaa seuraavasti:

Syntaksi

Joten samalla tavalla voimme julistaa 2-D-taulukon seuraavasti:

Yllä olevan esityksen merkitys voidaan ymmärtää seuraavasti:

  1. Muuttujalle b varattu muisti on tietotyyppi int.
  2. Tiedot esitetään 2 rivin ja 3 sarakkeen muodossa.


Matriisin sisällä olevaan tietoon pääsee yllä olevan esityksen kautta. 2-D-ryhmien esityksessä ensimmäinen hakasulke edustaa rivien lukumäärää ja toinen sarakkeiden lukumäärää. Ensimmäisen elementin taulukon indeksiesitys alkaa aina nollalla ja päättyy koosta-1. Matriisimuuttuja (tässä b) pitää aina muistilohkon perusosoitetta ja sitä kutsutaan sisäiseksi osoitinmuuttujaksi.

Joten esimerkiksi jos rivien lukumäärä on 3, niin indeksiesitys rivien tietojen saamiseksi on 0, 1 ja 2. Sama logiikka pätee myös sarakeindekseihin. Edellä olevaa esitystä varten saadaan 2. rivin 3. sarakkeen tiedot käyttämällä b (1) (2).

Ryhmien alustaminen

Meillä on kaksi erilaista menetelmää arvojen alustamiseen C: ssä. Menetelmät eroavat vain syntaktisesti.

Alla on yksi heistä.

Toinen tapa alustaa on seuraava:

Yleensä ensimmäinen alustusmenetelmä on edullinen, koska ymmärrämme ja visualisoimme selvästi C-2-D-ryhmien rivit ja sarakkeet.

Alla on esimerkki elementtien kuvallisesta esityksestä ja niiden osoite taulukosta b.

Matriisin elementit tallennetaan yleensä peräkkäisissä muistipaikoissa elementtien tietotyypin perusteella.

Elementtien asettaminen 3D-ryhmiin

Elementtien lisäämiseksi 2-D-ryhmiin meidän on lisättävä tiedot sekä riveihin että sarakkeisiin. Joten tässä käytämme silmukoiden käsitettä. Yllä olevassa prosessissa datan alustamiseksi taulukossa olimme määrittäneet arvot ennalta.

Täällä käyttäjä voi asettaa elementit dynaamisesti vaatimusten mukaisesti. Alla on esimerkki koodista elementtien lisäämiseksi.

#include
int main()
(
int b(2)(3);
int i, j, num;
printf("Enter elements into 2-D array: ");
for(i=0;i<2;i++)
(
for(j=0;j<3;j++)
(
scanf("%d", &b(i)(j));
)
)
)

Kuten koodissa havaitaan:

  1. Ensin julistamme taulukon muuttujan ja taulukon mitat rivien ja sarakkeiden määrällä.
  2. Julistamme sitten kaksi muuttujaa iteratoimiseksi taulukon elementtien yli.
  3. Sitten silmukoita varten käytetään. Silmukan ulkopinta on rivien iteraation ja sisäpiiri sarakkeiden kohdalla.
  4. Scanf-toimintoa käytetään tietojen lukemiseen syöttäessämme ja aseta sitten lisätty arvo i: n ja j: n kohtiin.

Yllä olevassa esimerkissä lisäsimme tiedot matriisiin, jossa on 2 riviä ja 3 saraketta. Seuraavien tulokset voidaan saada seuraavasti:

Koska emme ole käyttäneet printf-toimintoa tulosteen näyttämiseen, kirjoitettu ohjelma oli lukenut vain käyttäjän syöttämät arvot. Tulostustoiminnon kirjoittamisen jälkeen (silmukoiden kanssa) tulosteet näytetään seuraavasti:

Päivitä 2-D-ryhmien elementit

Taulukon elementtien päivitys voidaan tehdä joko määrittelemällä tietty korvattava elementti tai yksilöimällä paikka, jossa korvaaminen on tehtävä. Päivittämistä varten me yleensä vaadimme seuraavia tietoja.

  1. Matriisin elementit
  2. Paikka / elementti, johon se on asetettava
  3. Lisättävä arvo.

Päivittääksesi taulukon tiedot elementtien avulla, ensin on etsittävä kyseinen elementti taulukosta, ymmärrettävä sen sijainti ja korvattava sitten vanha elementti uudella.

Tässä olemme antaneet alla kaksi esimerkkiä 2-D-taulukon elementin päivittämisestä.

Ensinnäkin, käydään läpi esimerkki, jossa päivitettävän elementin sijainti on jo tiedossa.

#include
int main()
(
int b(2)(3);
int i, j, num;
printf("Enter elements into 2-D array: ");
for(i=0;i<2;i++)
(
for(j=0;j<3;j++)
(
scanf("%d", &b(i)(j));
)
)
b(0)(2)=10;
for(i=0;i<2;i++)
(
for(j=0;j<3;j++)
(
printf("\t%d", b(i)(j));
)
printf("\n");
)
return 0;
)

Yllä olevassa ohjelmassa ensimmäisen rivin ja kolmannen sarakkeen elementti valitaan ja datan arvo tuossa paikassa on päivitetty.

Edellä olevan tuotos on seuraava:

Toisessa esimerkissä aiomme osoittaa, kuinka elementin sijainti voidaan ottaa dynaamisesti käyttäjän syöttämäksi arvoksi, ja päivittää elementin arvo kyseisessä paikassa.

#include
int main()
(
int b(2)(3);
int i, j, num;
printf("Enter elements into 2-D array: ");
for(i=0;i<2;i++)
(
for(j=0;j<3;j++)
(
scanf("%d", &b(i)(j));
)
)
printf("Enter the value of row and coulmn number :");
scanf("%d %d", &i, &j);
printf("Enter the number you want to update with: ");
scanf("%d", &num);
b(i)(j)=num;
for(i=0;i<2;i++)
(
for(j=0;j<3;j++)
(
printf("\t%d", b(i)(j));
)
printf("\n");
)
return 0;
)

Täällä käyimme skannaustoimintoa käyttäjän luoman arvon lukemiseen käyttäjän valitseman arvon perusteella rivin ja sarakkeen numeroiden perusteella.

Tuotos on seuraava:

Voitko yrittää kirjoittaa ohjelman päivittääksesi matriisin koko rivin käyttäjän syöttämillä arvoilla?

Nyt, kuten tiedämme, 2-D-taulukossa ilmoitamme taulukon koon alussa. Tiedämme taulukon koon, mutta entä jos käyttäjä antaa satunnaisen rivin ja sarakkeen numeron taulukkomokoomme ulkopuolella?

Huomaa, että koska emme ollut kirjoittaneet yhtään ehtoa / ehtoa tai yrittä / saalislohkoa, matriisin lähtö ei muutu. Voimme kuitenkin kirjoittaa koodin yllä mainittujen ehtojen avulla virheiden näyttämiseksi tällaisissa tapauksissa.

Elementtien poistaminen 2-D-ryhmistä

Sen jälkeen kun taulukon sisällä olevat tiedot on lisätty ja päivitetty, käsittelemme nyt, kuinka voimme poistaa kokonaisen rivin taulukosta.

Olemme kirjoittaneet ohjelman yksinkertaisessa muodossa, jotta 2-d-ryhmän eri toimintojen käsite voidaan ymmärtää helposti.

#include
int main()
(
int b(2)(3), i, j, num, x;
printf("Enter elements into 2-D array: ");
for(i=0;i<2;i++)
(
for(j=0;j<3;j++)
(
scanf("%d", &b(i)(j));
)
)
printf("Enter the value of row number :");
scanf("%d", &x);
for(i=0;i<2;i++)
(
if(i==x)
(
for(j=0;j<3;j++)
(
if((i+1)<2)
(
printf("\t%d", b(i+1)(j));
)
)
i++;)
else
(
for(j=0;j<3;j++)
(
printf("\t%d", b(i)(j));
)
)
printf("\n");
)
)

Seuraavat vaiheet ovat:

  1. Otti taulukon arvot dynaamisesti
  2. Pyysi käyttäjää syöttämään poistettavan rivin numero (hakemisto).
  3. Silmukka iteraation avulla verrataan, vastaavatko rivinumero ja käyttäjän syöttämä numero toisiaan.
  4. Jos ne sopivat yhteen ja jos rivinumero on pienempi kuin taulukon koko, tulostamme seuraavan rivin. Muuta, tulostamme rivin sellaisena kuin se on.

Tuotos on seuraava:

Entä jos annan rivinumeron taulukon rajan ulkopuolelle?

Se ei löydä riviä poistaa tai poistua ohjelmasta tulostamalla koko taulukko.

Kuten jo tiedettiin, voimme jopa ilmoittaa rivien ja sarakkeiden numerot dynaamisesti ja kirjoittaa ohjelman vastaavasti.

Eikö tämä näytä yksinkertaiselta ja helppo oppia?

Voitko yrittää poistaa tietyn elementin 2-d-taulukolle nyt harjoituksena?

johtopäätös

Tässä osassa olemme oppineet 2-ulotteisten taulukkojen perustoiminnot. Nämä 2-d-taulukot ovat hyödyllisiä reaaliajassa matriisitoimintojen ja monien matemaattisten laskelmien kanssa.

Ryhmiä voidaan käyttää jopa kalenterien, pysäköintialueiden sijoitusten näyttämiseen, ja meillä voi olla jopa shakkipeli.

Monien muiden tietorakenteiden, kuten linkitettyjen luetteloiden, jonon, kaavioiden, puiden, on käytettävä tätä 2-D-taulukkojen käsitettä perusedellytyksenä eri elementtien sijaintien tallennuksessa ja niihin pääsyssä. Kokeile ratkaista 2d-ryhmien perustoiminnot ja pidä hauskaa C.

Suositellut artikkelit

Tämä on opas 2-D-ryhmiin C: ssä. Tässä keskustellaan johdannosta, ryhmien alustamisesta, elementtien lisäämisestä, päivittämisestä ja poistamisesta 2-D-ryhmissä. Voit myös katsoa seuraavia artikkeleita saadaksesi lisätietoja -

  1. Ryhmät R
  2. Matriisin edut
  3. Ryhmät C ++: ssa
  4. Taulukot JavaScript
  5. Esimerkkejä C #: n taulukoista
  6. Taulukot PHP: ssä