Find matrixstørrelse C ++

Find Array Size C



En matrix er en beholder med elementer af den samme datatype. Hvis vi ikke kender den faktiske størrelse af et array, kan det bestemmes ved forskellige metoder. Når vi taler om størrelsen på en matrix, taler vi faktisk om antallet af elementer, der er til stede i arrayet. Nogle gange definerer vi matrixstørrelsen, og nogle gange står parenteserne tomme. Dette er en tilsyneladende størrelse, der kun viser en arrays kapacitet til at gemme værdi i den. Overvej f.eks. En sample array -erklæring

Int array[] = {1,2,3,4,5,6}

Her er størrelsen på en matrix eller længden af ​​en matrix 6. Og den samlede matrisestørrelse, der skal tildeles, vises ikke. Den faktiske størrelse opnås ved at anvende forskellige operationer. Disse operationer bruges i denne artikel til at opnå størrelsen på et array.







Eksempel 1

I denne illustration vil vi bruge begrebet start () og slut (). Gennem denne metode kan størrelsen af ​​et array let kendes. Dette er to biblioteker, der er kendt for standardbiblioteker. Disse to funktioner returnerer iteratorer, der viser arrayets foreløbige og slutpunkter. Fra hovedet bruger vi et array -bibliotek. Dette vil omfatte alle de funktioner, der er relateret til arrayet. I hovedfunktionen har vi startet en matrix med heltalsværdier.



Koste<<……….<<ende(til)-begib(til)<<

Her har vi ikke nævnt matrixstørrelse. I displayet efter erklæringen har vi brug funktionerne slut () og begynd (). Forskellen mellem disse to funktioner viser os størrelsen på en matrix. I parametrene for disse funktioner har vi passeret arrayet. Ved at gøre dette vil den faktiske størrelse blive bestemt. Den resulterende værdi fra disse funktioner vises direkte.







Nu bevæger vi os mod output. Vi formodes at udføre disse programmer i Linux, så vi har brug for involvering af Ubuntu -terminalen. Da vi bruger C ++ - kode, så er vi nødt til at kompilere koden gennem kompilatoren. Det er G ++ - kompilatoren. Efter at have sammensat koden, udfører vi den. Nedenstående kommandoer viser den outputmetode, vi har brugt.

$ g++ -o kode2 kode2.c

$./kode 2



Du kan nu se output. Et andet lignende eksempel i tilfælde af std er afstandsfunktionen. I denne afstand beregnes ved hjælp af funktioner () og slut (). Dette afsluttes ved at bruge disse funktioner med std.

Int n=timer:: afstand(timer::begynde(arr),timer::ende(arr));

Outputtet opnås i cout -erklæringen. For at se posten skal du bruge kompilatoren igen til at udføre koden.

Her kan du se, at vores ønskede output opnås.

Eksempel 2

Dette eksempel vedrører brugen af ​​funktionen sizeof () i C ++ - koden, da denne værdi returnerer den faktiske størrelse af data i form af bytes. Desuden handler det også om at returnere antallet af bytes, der bruges til at gemme et array. Med andre ord: I dette eksempel er det første trin at initialisere et array uden at angive størrelsen på et array. syntaksen, der bruges til funktionen sizeof (), er:

Int al= størrelse på(arr)/størrelse på(arr[0]);

Hvor arr er arrayet. arr [0] viser indekset for elementerne i arrayet.

Så denne erklæring indebærer, at matrixstørrelsen divideres med størrelsen på alle de tilstedeværende elementer, en efter en. Dette hjælper med at beregne længden. Vi har brugt en heltalsvariabel til at modtage og gemme værdireturet fra funktionen.

Vi får output her fra kommandoprompten med den samme kompilering-udførelsesmetode.

Outputtet viser matrixens størrelse, hvilket indebærer antallet af elementer, der er til stede i den, hvilket er 6.

Eksempel 3

Dette eksempel inkluderer brugen af ​​funktionen size (). Denne funktion er placeret i standardbiblioteket, STL. Det første trin i hovedprogrammet er matrixdeklarationen. Her indeholder arrayets navn også størrelsen og heltalværdien. Denne metode returnerer også resultatet direkte i outputopgørelsen.

Koste<<….<<arr.størrelse()<<

Hvor 'arr' er arrayet, har vi brug for arrayets navn med størrelsesfunktionen for at hente resultatet eller få adgang til funktionen.

For at vise resultatet bruger vi g ++ - kompilatoren til at kompilere og eksekvere resultatet.

Fra output kan du se, at resultatet er vores ønskede, der viser matrixens faktiske størrelse.

Eksempel 4

Størrelsen på en matrix kan også opnås ved at bruge pointer, da pointers gemmer adressen/placeringen af ​​variabelens værdi. Overvej nu nedenstående eksempel.

Det første trin er at initialisere et array som normalt. Derefter fungerer markøren for matrixstørrelsen.

Int len= *(&array+ 1)- array;

Dette er kerneudtalelsen, der fungerer som en markør. * bruges til at lokalisere placeringen af ​​et hvilket som helst element i en matrix, mens & -operatoren bruges til at opnå værdien af ​​det sted, der er opnået via markøren. Dette er den måde, vi får array -størrelse fra pointers. Det resulterende er vist gennem terminalen. Svaret er det samme. Da størrelsen på det nævnte array blev angivet som 13.

Eksempel 5

I dette eksempel har vi brugt ideen om skabelonargumentfradrag. Et skabelonargument er en parameter af en særlig art. Det bruges til at videregive et argument af enhver type, ligesom de almindelige funktioner, der kan sendes som et argument.

Når et array sendes som en parameter, konverteres det til en markør for at vise adressen. For at opnå længden af ​​det specifikke array bruger vi denne metode til skabelonargumentfradrag. Std er en kort form for standard.

I betragtning af det givne eksempel har vi introduceret en skabelonklasse, der bruges til at opnå arraystørrelsen. Det er en standard indbygget klasse, der indeholder alle funktionerne i skabelonargumenter.

Constexpr std: : størrelse_tstørrelse(konstT(&array)[N])noget undtagen{

Vend tilbageN;

}

Dette er en konstant linje i dette koncept. Outputtet opnås direkte i cout -erklæringen.

Fra output kan du se, at vi har fået vores ønskede output: arraystørrelsen.

Eksempel 6

Vi bruger std :: vector til at opnå arraystørrelsen i programmet. Dette er en type beholder; dens funktion er at gemme dynamiske arrays. Det fungerer med forskellige metoder til forskellige operationer. For at opnå dette eksempel har vi brugt et vektorbibliotek, der indeholder alle vektorfunktionerne i det. Det erklærer også cin, cout, endl og vector udsagn, der skal bruges i programmet. Et array startes først i programmet. Outputtet vises i cout -sætningen efter vektorstørrelse.

Koste<<vektor størrelse: <<int_array.størrelse() <<endl;

Nu vil vi se output fra Ubuntu -terminalen. Størrelsen af ​​arrayet er nøjagtig i forhold til elementerne i det.

Konklusion

I denne vejledning har vi brugt en anden tilgang til at opnå arraylængden eller -størrelsen. Nogle er indbyggede funktioner, mens andre bruges manuelt.