Hitta matrisstorlek C ++

Find Array Size C



En array är en behållare med element av samma datatyp. Om vi ​​inte vet den faktiska storleken på en matris kan den bestämmas med olika metoder. När vi pratar om storleken på en array, talar vi faktiskt om antalet element som finns i arrayen. Ibland definierar vi matrisstorleken och ibland lämnas parenteserna tomma. Detta är en uppenbar storlek som bara visar kapaciteten hos en array för att lagra värde i den. Tänk till exempel på en provarraydeklaration

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

Här är storleken på en array eller längden på en array 6. Och den totala arraystorleken som ska tilldelas visas inte. Den faktiska storleken erhålls genom att använda olika operationer. Dessa operationer används i denna artikel för att erhålla storleken på en array.







Exempel 1

I denna illustration kommer vi att använda begreppet börja () och slut (). Genom denna metod kan storleken på en array enkelt vara känd. Det här är två bibliotek som är kända för standardbibliotek. Dessa två funktioner returnerar iteratorer som visar arrayens preliminära och slutpunkter. Från huvudet använder vi ett matrisbibliotek. Detta kommer att inkludera alla funktioner som är relaterade till matrisen. I huvudfunktionen har vi initierat en array med heltalsvärden.



Kosta<<……….<<slutet(till)-begib(till)<<

Här har vi inte nämnt matrisstorlek. I displayen efter meddelandet har vi använd funktionerna slut () och börja (). Skillnaden mellan dessa två funktioner visar oss storleken på en array. I parametrarna för dessa funktioner har vi passerat arrayen. Genom att göra detta bestäms den verkliga storleken. Det resulterande värdet från dessa funktioner visas direkt.







Nu går vi mot utgången. Vi är tänkta att köra dessa program i Linux, så vi behöver involvera Ubuntu -terminalen. Eftersom vi använder C ++ - kod, så måste vi kompilera koden genom kompilatorn. Det är G ++ - kompilatorn. Efter att ha sammanställt koden kör vi den. Nedanstående kommandon visar utmatningsmetoden vi har använt.

$ g++ -o kod2 kod2.c

$./kod 2



Du kan nu se utmatningen. Ett annat liknande exempel när det gäller std är avståndsfunktionen. I detta avstånd beräknas med hjälp av funktioner () och slut (). Detta slutförs genom att använda dessa funktioner med std.

Int n=timmar:: distans(timmar::Börja(arr),timmar::slutet(arr));

Utdata erhålls i cout -uttalandet. För att se posten, använd kompilatorn igen för att köra koden.

Här kan du se att vår önskade effekt erhålls.

Exempel 2

Detta exempel avser användningen av funktionen sizeof () i C ++ - koden, eftersom detta värde returnerar den faktiska storleken på data i form av byte. Dessutom handlar det också om att returnera antalet byte som används för att lagra en array. Med andra ord, I det här exemplet är det första steget att initiera en array utan att deklarera storleken på en array. syntaxen som används för funktionen sizeof () är:

Int al= storlek av(arr)/storlek av(arr[0]);

Var arr är matrisen. arr [0] visar indexet för elementen i matrisen.

Så detta uttalande innebär att matrisstorleken divideras med storleken på alla närvarande element, en efter en. Detta hjälper till att beräkna längden. Vi har använt en heltalsvariabel för att ta emot och lagra värdeåtergången från funktionen.

Vi kommer att få utmatningen här från kommandotolken med samma kompilerings-körningsmetod.

Utmatningen visar storleken på matrisen, vilket innebär att antalet element i den är 6.

Exempel 3

Detta exempel inkluderar användning av funktionen size (). Denna funktion placeras i standardbiblioteket, STL. Det första steget i huvudprogrammet är arraydeklarationen. Här innehåller namnet på matrisen också storlek och heltal. Denna metod returnerar också resultatet direkt i utdatasatsen.

Kosta<<….<<arr.storlek()<<

Där 'arr' är matrisen, för att hämta resultatet eller komma åt funktionen, behöver vi matrisens namn med storleksfunktionen.

För att visa resultatet använder vi kompilatorn g ++ för att kompilera och köra resultatet.

Från utgången kan du se att resultatet är vårt önskade resultat som visar matrisens faktiska storlek.

Exempel 4

Storleken på en array kan också erhållas med hjälp av pekare eftersom pekare lagrar adressen/platsen för variabelns värde. Tänk nu på nedanstående exempel.

Det första steget är att initiera en array som vanligt. Då fungerar pekaren för matrisstorleken.

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

Detta är kärnuttrycket som fungerar som en pekare. * används för att lokalisera positionen för valfritt element i en array, medan & -operatören används för att erhålla värdet på platsen som erhålls genom pekaren. Detta är hur vi får matrisstorlek från pekare. Resultatet visas via terminalen. Svaret är detsamma. Eftersom storleken på den nämnda gruppen anges som 13.

Exempel 5

I det här exemplet har vi använt tanken på mallargumentavdrag. Ett mallargument är en parameter av ett speciellt slag. Det används för att skicka ett argument av vilken typ som helst, precis som de vanliga funktionerna som kan skickas som ett argument.

När en array skickas som en parameter konverteras den till en pekare för att visa adressen. För att få längden på den specifika matrisen använder vi denna metod för mallargumentavdrag. Std är en kort form av standard.

Med tanke på det givna exemplet har vi introducerat en mallklass som används för att erhålla matrisstorleken. Det är en standard inbyggd klass som innehåller alla funktioner i mallargument.

Constexpr std: : storlek_tstorlek(konstT(&array)[N])något utom{

lämna tillbakaN;

}

Detta är en konstant linje i detta koncept. Utmatningen erhålls direkt i cout -uttalandet.

Från utgången kan du se att vi har den önskade utmatningen: matrisstorleken.

Exempel 6

Vi använder std :: vector för att få matrisstorleken i programmet. Detta är en typ av behållare; dess funktion är att lagra dynamiska matriser. Det fungerar med olika metoder för olika operationer. För att åstadkomma detta exempel har vi använt ett vektorbibliotek som innehåller alla vektorfunktioner i det. Det deklarerar också cin, cout, endl och vector satser som ska användas i programmet. En array initieras först i programmet. Utdata visas i cout -satsen efter vektorstorlek.

Kosta<<vektorstorlek: <<int_array.storlek() <<endl;

Nu kommer vi att se utmatningen från Ubuntu -terminalen. Matrisens storlek är exakt för de element som finns i den.

Slutsats

I den här självstudien har vi använt ett annat tillvägagångssätt för att erhålla matrislängd eller storlek. Vissa är inbyggda funktioner, medan andra används manuellt.