C ++ initialiserer matrise

C ++ initialiserer matrise
"En samling av relaterte dataobjekter som er lagret på tilstøtende minneplasser og tilgjengelig tilfeldig ved hjelp av en matrise indekser blir referert til som en matrise i C ++ eller noe annet programmeringsspråk. Når det er få objekter, kan vi bruke vanlige variabler (var1, var2, var3, ...), men når det er mange elementer og mange forekomster, blir det utfordrende å administrere dem med vanlige variabler. En matrise er designet for å holde flere forekomster i en enkelt variabel.”

Fordeler med matrisen i C++

  • Bruker matrisindeksen for å gi tilfeldig tilgang til elementer.
  • Færre kodelinjer er nødvendige fordi det opprettes en enkelt matrise med mange elementer.
  • Alle elementene er lett tilgjengelige.
  • En enkelt sløyfe gjør det enkelt å krysse matrisen.
  • Sortering blir enkel fordi det er færre kodelinjer som trengs for å fullføre den.

Ulemper med matrisen i C++

  • Tillater å legge inn et forhåndsbestemt, fast antall elementer som er valgt på erklæringstidspunktet. En C -matrise er ikke dynamisk, i motsetning til en lenket liste.
  • På grunn av nødvendigheten av å administrere elementene i tråd med den nye minnetildelingen, kan elementinnsetting og sletting være dyrt.

Hvordan erklære en matrise i C++

Metoden som brukes til å lage en matrise er identisk med den som brukes til å lage variabler. Å erklære matrisen kommer først. Etter å ha erklært matrisen, har vi muligheten til å initialisere den umiddelbart eller senere. Vi må nevne tre elementer når vi erklærer matrisen: Arrayens navn, datatype, størrelse og andre detaljer. Arrayens navn fungerer også som en peker til sin aller første komponent.

Eksempel 1

I dette eksemplet initialiseres to heltallsarrays, den ene med en størrelse som ikke ble gitt under skapelsen og den andre med en størrelse som ble spesifisert, men færre elementer ble initialisert.

#inkludere
ved hjelp av navneområdet STD;
int main ()
int arr_1 [] = 2, 9, 6, 3, 2;
int arr_2 [10] = 12, 68, 28, 32, 76, 49, 84;
for (int i = 0; icout<< Arr_1[i] <<" ";

cout<for (int i = 0; icout<< Arr_2[i] <<" ";

Opprinnelig opprettet vi en matrise som "ARR_1" med tom størrelse og initialiserte den med fem heltall. Etter det erklærte vi en annen rekke med størrelsen gitt som "10". Elementene settes inn i matrisen med den spesifiserte størrelsen på en matrise. Deretter, med for -loopen, har vi skrevet ut elementene i både matriser “ARR_1” og “ARR_2”, henholdsvis. Legg merke til at i for -loopen har vi en betinget uttalelse om at "jeg" skal være mindre enn størrelsen på den gitte matrisen.

De to forskjellige matriser genereres i utgangen. De første matriseelementene er de samme som i matrisen. Den andre arrayen viser tre null sist, ettersom vi bare har satt inn syv elementer og størrelsen på matrisen som er gitt er “10”.

Eksempel 2

Vi kan tilordne en elementliste til matrisen og spesifisere størrelsen. En listens elementer kan være færre enn det tildelte tallet i dette tilfellet. Etter det opprettes matrisen av kompilatoren med den spesifiserte størrelsen, og elementene tildeles en etter en, som starter i begynnelsen av matrisen.

#inkludere
ved hjelp av navneområdet STD;
int main ()
int nums [5] = 3, 7, 1, 52, 25;
cout<< "The integer elements are: ";
for (const int & ele: nums)
cout<
cout<< "\nThe integer elements are: ";
for (int i = 0; i< 5; ++i)
cout<
retur 0;

En størrelse på “5” er spesifisert for matrisen som vi har erklært å være “Nums.”Inne i matrisen har vi lagt til elementer som er mindre enn matrisens totale størrelse. Merk at vi har okkupert fire indekser i matrisen da matrisindeksen starter fra null. Deretter brukte vi en rekkebasert for loop for å skrive ut matriseelementer. Const Int & Ele har blitt erstattet av Int “Ele” som Range-erklæringen i vår rekkevidde-baserte loop. Const Int & Ele er likevel foretrukket av følgende grunner:

For hver iterasjon når du bruker int ele, blir elementene i matrisen ganske enkelt kopiert til variabelen "Ele". I stedet for å overføre dataene til en ny variabel, får “& Ele” imidlertid tilgang til array -elemenes minneadresser direkte. Den bruker lite minne. Elementene i matrisen blir ikke endret; Vi skriver bare ut dem. Const brukes; Som et resultat for å forhindre utilsiktet å endre matriserens verdier. Etter det bruker vi den konvensjonelle for sløyfemetoden for å skrive ut elementene i matrisen.

Både for Loop -metodene viste det samme arrayelementet i utgangen:

Eksempel 3

Tidligere har vi gitt eksempler på et heltall. Nå, i dette eksemplet, opprettes og vises strenggruppen og vises.

#inkludere
ved hjelp av navneområdet STD;
int main ()
String a1 [] = "live", "lang", "liv", "bye";
String A2 [10] = "Hei", "min", "Linux", "Geeks", "Good", "Luck", "bruker";
for (int i = 0; icout<< A1[i] <<" ";

cout<for (int i = 0; icout<< A2[i] <<" ";

Vi har definert en matrise som "ARR1" og erklært den med strengelementer. Etter det definerte vi vår andre matrise og innsatte elementer med den gitte arraystørrelsen. Deretter, med for Loop -metoden, trykket vi matriseelementene.

Utgangen genererer følgende utvalg av strengelementer.

Eksempel 4

I dette eksemplet har vi tatt tall fra brukerne og lagret dem i en matrise.

#inkludere
ved hjelp av navneområdet STD;
int main ()
int arr [5];
cout<< "input five numbers: " <for (int i = 0; i> arr [i];

cout<< "The integers are: ";
for (int n = 0; n < 5; ++n)
cout<
retur 0;

Vi har opprettet matrisen som "arr", og størrelsen som er gitt til matrisen er fem. Brukeren blir deretter bedt om å legge inn fem heltall i en matrise ved hjelp av cout -setningen, som ble skrevet ut etter det. De har nok en gang iterert fra n = 0 til n = 4 ved bruk av en for loop. Vi samlet en brukerinngang for hver iterasjon og lagret den som en ARR [n]. Deretter, for å skrive ut hvert element i matrisen, brukte vi igjen en for loop.

Utgangen fra matriselementet vises her etter å ha fått inngangen fra brukeren.

Konklusjon

Arrayen blir sett på som en avgjørende komponent i C ++ siden den letter minnestyring og øker programmets effektivitet. På grunn av sin evne til å gi flerdimensjonal datalagring, kan den brukes i en rekke teknikker. Når det er viktig å lagre elementer av samme datatype, er det alltid best å bruke en matrise.